diff --git a/src/Layer.js b/src/Layer.js index 9877423..c4107cf 100644 --- a/src/Layer.js +++ b/src/Layer.js @@ -10,6 +10,7 @@ export default class Layer { * @param {Object} [attrs] - layer attributes */ constructor (attrs = {}) { + this.layerClass = 'Layer' this.name = attrs.name this.params = [] diff --git a/src/layers/advanced_activations/ELU.js b/src/layers/advanced_activations/ELU.js index daa082b..f259cce 100644 --- a/src/layers/advanced_activations/ELU.js +++ b/src/layers/advanced_activations/ELU.js @@ -11,6 +11,7 @@ export default class ELU extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'ELU' const { alpha = 1.0 diff --git a/src/layers/advanced_activations/LeakyReLU.js b/src/layers/advanced_activations/LeakyReLU.js index 25ab4cc..28996bf 100644 --- a/src/layers/advanced_activations/LeakyReLU.js +++ b/src/layers/advanced_activations/LeakyReLU.js @@ -11,6 +11,7 @@ export default class LeakyReLU extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'LeakyReLU' const { alpha = 0.3 diff --git a/src/layers/advanced_activations/PReLU.js b/src/layers/advanced_activations/PReLU.js index 8c6efe0..a3f4753 100644 --- a/src/layers/advanced_activations/PReLU.js +++ b/src/layers/advanced_activations/PReLU.js @@ -16,6 +16,7 @@ export default class PReLU extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'PReLU' // Layer weights specification this.params = ['alphas'] diff --git a/src/layers/advanced_activations/ParametricSoftplus.js b/src/layers/advanced_activations/ParametricSoftplus.js index 6c47c5f..9f475f4 100644 --- a/src/layers/advanced_activations/ParametricSoftplus.js +++ b/src/layers/advanced_activations/ParametricSoftplus.js @@ -11,6 +11,7 @@ export default class ParametricSoftplus extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'ParametricSoftplus' // Layer weights specification this.params = ['alphas', 'betas'] diff --git a/src/layers/advanced_activations/SReLU.js b/src/layers/advanced_activations/SReLU.js index 5b54e91..72f046d 100644 --- a/src/layers/advanced_activations/SReLU.js +++ b/src/layers/advanced_activations/SReLU.js @@ -11,6 +11,7 @@ export default class SReLU extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'SReLU' // Layer weights specification this.params = ['t_left', 'a_left', 't_right', 'a_right'] diff --git a/src/layers/advanced_activations/ThresholdedReLU.js b/src/layers/advanced_activations/ThresholdedReLU.js index 00eca92..3c902e8 100644 --- a/src/layers/advanced_activations/ThresholdedReLU.js +++ b/src/layers/advanced_activations/ThresholdedReLU.js @@ -11,6 +11,7 @@ export default class ThresholdedReLU extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'ThresholdedReLU' const { theta = 1.0 diff --git a/src/layers/convolutional/AtrousConvolution2D.js b/src/layers/convolutional/AtrousConvolution2D.js index e5d7e09..8d851d8 100644 --- a/src/layers/convolutional/AtrousConvolution2D.js +++ b/src/layers/convolutional/AtrousConvolution2D.js @@ -20,6 +20,8 @@ export default class AtrousConvolution2D extends Convolution2D { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'AtrousConvolution2D' + const { atrousRate = [1, 1] } = attrs diff --git a/src/layers/convolutional/Convolution1D.js b/src/layers/convolutional/Convolution1D.js index c2a9320..74f8331 100644 --- a/src/layers/convolutional/Convolution1D.js +++ b/src/layers/convolutional/Convolution1D.js @@ -15,6 +15,8 @@ export default class Convolution1D extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'Convolution1D' + const { nbFilter = 1, filterLength = 1, diff --git a/src/layers/convolutional/Convolution2D.js b/src/layers/convolutional/Convolution2D.js index f4fb197..be75711 100644 --- a/src/layers/convolutional/Convolution2D.js +++ b/src/layers/convolutional/Convolution2D.js @@ -19,6 +19,8 @@ export default class Convolution2D extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'Convolution2D' + const { nbFilter = 1, nbRow = 3, diff --git a/src/layers/convolutional/Convolution3D.js b/src/layers/convolutional/Convolution3D.js index da244af..df01493 100644 --- a/src/layers/convolutional/Convolution3D.js +++ b/src/layers/convolutional/Convolution3D.js @@ -20,6 +20,8 @@ export default class Convolution3D extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'Convolution3D' + const { nbFilter = 1, kernelDim1 = 1, diff --git a/src/layers/convolutional/Deconvolution2D.js b/src/layers/convolutional/Deconvolution2D.js index d43ee5a..a0e0148 100644 --- a/src/layers/convolutional/Deconvolution2D.js +++ b/src/layers/convolutional/Deconvolution2D.js @@ -21,6 +21,8 @@ export default class Deconvolution2D extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'Deconvolution2D' + const { nbFilter = 1, nbRow = 1, diff --git a/src/layers/convolutional/SeparableConvolution2D.js b/src/layers/convolutional/SeparableConvolution2D.js index bd2d9f0..a236bda 100644 --- a/src/layers/convolutional/SeparableConvolution2D.js +++ b/src/layers/convolutional/SeparableConvolution2D.js @@ -17,6 +17,8 @@ export default class SeparableConvolution2D extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'SeparableConvolution2D' + const { nbFilter = 1, nbRow = 1, diff --git a/src/layers/convolutional/UpSampling1D.js b/src/layers/convolutional/UpSampling1D.js index 423de37..90c6161 100644 --- a/src/layers/convolutional/UpSampling1D.js +++ b/src/layers/convolutional/UpSampling1D.js @@ -12,6 +12,8 @@ export default class UpSampling1D extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'UpSampling1D' + const { length = 2 } = attrs diff --git a/src/layers/convolutional/UpSampling2D.js b/src/layers/convolutional/UpSampling2D.js index 406bc1a..2d6aa3e 100644 --- a/src/layers/convolutional/UpSampling2D.js +++ b/src/layers/convolutional/UpSampling2D.js @@ -12,6 +12,8 @@ export default class UpSampling2D extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'UpSampling2D' + const { size = [2, 2], dimOrdering = 'tf' diff --git a/src/layers/convolutional/UpSampling3D.js b/src/layers/convolutional/UpSampling3D.js index 193ecd3..a7e87b5 100644 --- a/src/layers/convolutional/UpSampling3D.js +++ b/src/layers/convolutional/UpSampling3D.js @@ -12,6 +12,8 @@ export default class UpSampling3D extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'UpSampling3D' + const { size = [2, 2, 2], dimOrdering = 'tf' diff --git a/src/layers/convolutional/ZeroPadding1D.js b/src/layers/convolutional/ZeroPadding1D.js index 5a15c8d..9075b24 100644 --- a/src/layers/convolutional/ZeroPadding1D.js +++ b/src/layers/convolutional/ZeroPadding1D.js @@ -12,6 +12,8 @@ export default class ZeroPadding1D extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'ZeroPadding1D' + const { padding = 1 } = attrs diff --git a/src/layers/convolutional/ZeroPadding2D.js b/src/layers/convolutional/ZeroPadding2D.js index 22808c9..806dc9e 100644 --- a/src/layers/convolutional/ZeroPadding2D.js +++ b/src/layers/convolutional/ZeroPadding2D.js @@ -12,6 +12,8 @@ export default class ZeroPadding2D extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'ZeroPadding2D' + const { padding = [1, 1], dimOrdering = 'tf' diff --git a/src/layers/convolutional/ZeroPadding3D.js b/src/layers/convolutional/ZeroPadding3D.js index 1004ee2..72f2e1e 100644 --- a/src/layers/convolutional/ZeroPadding3D.js +++ b/src/layers/convolutional/ZeroPadding3D.js @@ -12,6 +12,8 @@ export default class ZeroPadding3D extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'ZeroPadding3D' + const { padding = [1, 1, 1], dimOrdering = 'tf' diff --git a/src/layers/core/Activation.js b/src/layers/core/Activation.js index 506989d..901af25 100644 --- a/src/layers/core/Activation.js +++ b/src/layers/core/Activation.js @@ -11,6 +11,7 @@ export default class Activation extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'Activation' const { activation = 'linear' diff --git a/src/layers/core/Dense.js b/src/layers/core/Dense.js index dd409c7..62ec55e 100644 --- a/src/layers/core/Dense.js +++ b/src/layers/core/Dense.js @@ -15,6 +15,8 @@ export default class Dense extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'Dense' + const { outputDim = 1, activation = 'linear', diff --git a/src/layers/core/Dropout.js b/src/layers/core/Dropout.js index 028d958..1d4f232 100644 --- a/src/layers/core/Dropout.js +++ b/src/layers/core/Dropout.js @@ -11,6 +11,7 @@ export default class Dropout extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'Dropout' const { p = 0.5 diff --git a/src/layers/core/Flatten.js b/src/layers/core/Flatten.js index 8912d6f..831e3c4 100644 --- a/src/layers/core/Flatten.js +++ b/src/layers/core/Flatten.js @@ -14,6 +14,7 @@ export default class Flatten extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'Flatten' } /** diff --git a/src/layers/core/Highway.js b/src/layers/core/Highway.js index 555a44c..f45d024 100644 --- a/src/layers/core/Highway.js +++ b/src/layers/core/Highway.js @@ -17,6 +17,8 @@ export default class Highway extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'Highway' + const { transformBias = -2, activation = 'linear', diff --git a/src/layers/core/MaxoutDense.js b/src/layers/core/MaxoutDense.js index d0c6aeb..ca4c786 100644 --- a/src/layers/core/MaxoutDense.js +++ b/src/layers/core/MaxoutDense.js @@ -18,6 +18,8 @@ export default class MaxoutDense extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'MaxoutDense' + const { outputDim = 1, inputDim = null, diff --git a/src/layers/core/Merge.js b/src/layers/core/Merge.js index dc5b490..256646a 100644 --- a/src/layers/core/Merge.js +++ b/src/layers/core/Merge.js @@ -17,6 +17,8 @@ export default class Merge extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'Merge' + const { mode = 'sum', concatAxis = -1, diff --git a/src/layers/core/Permute.js b/src/layers/core/Permute.js index b304bdb..696d3a1 100644 --- a/src/layers/core/Permute.js +++ b/src/layers/core/Permute.js @@ -12,6 +12,8 @@ export default class Permute extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'Permute' + const { dims = [] } = attrs diff --git a/src/layers/core/RepeatVector.js b/src/layers/core/RepeatVector.js index 3558bd8..08aad77 100644 --- a/src/layers/core/RepeatVector.js +++ b/src/layers/core/RepeatVector.js @@ -14,6 +14,8 @@ export default class RepeatVector extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'RepeatVector' + const { n = 1 } = attrs diff --git a/src/layers/core/Reshape.js b/src/layers/core/Reshape.js index d29d796..12d836a 100644 --- a/src/layers/core/Reshape.js +++ b/src/layers/core/Reshape.js @@ -15,6 +15,8 @@ export default class Reshape extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'Reshape' + const { shape = [] } = attrs diff --git a/src/layers/embeddings/Embedding.js b/src/layers/embeddings/Embedding.js index f8b079a..f962d86 100644 --- a/src/layers/embeddings/Embedding.js +++ b/src/layers/embeddings/Embedding.js @@ -11,6 +11,8 @@ export default class Embedding extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'Embedding' + const { inputDim = 1, outputDim = 1, diff --git a/src/layers/normalization/BatchNormalization.js b/src/layers/normalization/BatchNormalization.js index 36ef0e1..60dafd4 100644 --- a/src/layers/normalization/BatchNormalization.js +++ b/src/layers/normalization/BatchNormalization.js @@ -13,6 +13,8 @@ export default class BatchNormalization extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'BatchNormalization' + const { epsilon = 1e-5, mode = 0, diff --git a/src/layers/pooling/AveragePooling1D.js b/src/layers/pooling/AveragePooling1D.js index 2b35590..a3dd512 100644 --- a/src/layers/pooling/AveragePooling1D.js +++ b/src/layers/pooling/AveragePooling1D.js @@ -9,6 +9,8 @@ export default class AveragePooling1D extends _Pooling1D { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'AveragePooling1D' + this.poolingFunc = 'average' } } diff --git a/src/layers/pooling/AveragePooling2D.js b/src/layers/pooling/AveragePooling2D.js index f0b0165..e5eeaa0 100644 --- a/src/layers/pooling/AveragePooling2D.js +++ b/src/layers/pooling/AveragePooling2D.js @@ -9,6 +9,8 @@ export default class AveragePooling2D extends _Pooling2D { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'AveragePooling2D' + this.poolingFunc = 'average' } } diff --git a/src/layers/pooling/AveragePooling3D.js b/src/layers/pooling/AveragePooling3D.js index 39665c1..839c8b4 100644 --- a/src/layers/pooling/AveragePooling3D.js +++ b/src/layers/pooling/AveragePooling3D.js @@ -9,6 +9,8 @@ export default class AveragePooling3D extends _Pooling3D { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'AveragePooling3D' + this.poolingFunc = 'average' } } diff --git a/src/layers/pooling/GlobalAveragePooling1D.js b/src/layers/pooling/GlobalAveragePooling1D.js index 2ae1f0b..e20fae5 100644 --- a/src/layers/pooling/GlobalAveragePooling1D.js +++ b/src/layers/pooling/GlobalAveragePooling1D.js @@ -11,6 +11,7 @@ export default class GlobalAveragePooling1D extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'GlobalAveragePooling1D' } /** diff --git a/src/layers/pooling/GlobalAveragePooling2D.js b/src/layers/pooling/GlobalAveragePooling2D.js index 7b76369..d6d82ad 100644 --- a/src/layers/pooling/GlobalAveragePooling2D.js +++ b/src/layers/pooling/GlobalAveragePooling2D.js @@ -11,6 +11,8 @@ export default class GlobalAveragePooling2D extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'GlobalAveragePooling2D' + const { dimOrdering = 'tf' } = attrs diff --git a/src/layers/pooling/GlobalMaxPooling1D.js b/src/layers/pooling/GlobalMaxPooling1D.js index f9fd8a6..5fcaad9 100644 --- a/src/layers/pooling/GlobalMaxPooling1D.js +++ b/src/layers/pooling/GlobalMaxPooling1D.js @@ -11,6 +11,7 @@ export default class GlobalMaxPooling1D extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'GlobalMaxPooling1D' } /** diff --git a/src/layers/pooling/GlobalMaxPooling2D.js b/src/layers/pooling/GlobalMaxPooling2D.js index fd1e389..ef1b525 100644 --- a/src/layers/pooling/GlobalMaxPooling2D.js +++ b/src/layers/pooling/GlobalMaxPooling2D.js @@ -11,6 +11,8 @@ export default class GlobalMaxPooling2D extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'GlobalMaxPooling2D' + const { dimOrdering = 'tf' } = attrs diff --git a/src/layers/pooling/MaxPooling1D.js b/src/layers/pooling/MaxPooling1D.js index 3ab16e2..2904804 100644 --- a/src/layers/pooling/MaxPooling1D.js +++ b/src/layers/pooling/MaxPooling1D.js @@ -9,6 +9,8 @@ export default class MaxPooling1D extends _Pooling1D { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'MaxPooling1D' + this.poolingFunc = 'max' } } diff --git a/src/layers/pooling/MaxPooling2D.js b/src/layers/pooling/MaxPooling2D.js index d55696d..47c27cb 100644 --- a/src/layers/pooling/MaxPooling2D.js +++ b/src/layers/pooling/MaxPooling2D.js @@ -9,6 +9,8 @@ export default class MaxPooling2D extends _Pooling2D { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'MaxPooling2D' + this.poolingFunc = 'max' } } diff --git a/src/layers/pooling/MaxPooling3D.js b/src/layers/pooling/MaxPooling3D.js index fe3aaae..13f1b2e 100644 --- a/src/layers/pooling/MaxPooling3D.js +++ b/src/layers/pooling/MaxPooling3D.js @@ -9,6 +9,8 @@ export default class MaxPooling3D extends _Pooling3D { */ constructor (attrs = {}) { super(attrs) + this.layerClass = 'MaxPooling3D' + this.poolingFunc = 'max' } } diff --git a/src/layers/pooling/_Pooling1D.js b/src/layers/pooling/_Pooling1D.js index 44e9863..bee5788 100644 --- a/src/layers/pooling/_Pooling1D.js +++ b/src/layers/pooling/_Pooling1D.js @@ -11,6 +11,8 @@ export default class _Pooling1D extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = '_Pooling1D' + const { poolLength = 2, stride = null, diff --git a/src/layers/pooling/_Pooling2D.js b/src/layers/pooling/_Pooling2D.js index 8ddf056..6dd9715 100644 --- a/src/layers/pooling/_Pooling2D.js +++ b/src/layers/pooling/_Pooling2D.js @@ -11,6 +11,8 @@ export default class _Pooling2D extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = '_Pooling2D' + const { poolSize = [2, 2], strides = null, diff --git a/src/layers/pooling/_Pooling3D.js b/src/layers/pooling/_Pooling3D.js index 3a7845a..dc9675c 100644 --- a/src/layers/pooling/_Pooling3D.js +++ b/src/layers/pooling/_Pooling3D.js @@ -11,6 +11,8 @@ export default class _Pooling3D extends Layer { */ constructor (attrs = {}) { super(attrs) + this.layerClass = '_Pooling3D' + const { poolSize = [2, 2, 2], strides = null,