| @@ -86,35 +86,30 @@ namespace Tensorflow.Keras.Layers | |||||
| /// <returns>A tensor of rank 3 representing activation(conv1d(inputs, kernel) + bias).</returns> | /// <returns>A tensor of rank 3 representing activation(conv1d(inputs, kernel) + bias).</returns> | ||||
| public Conv1D Conv1D(int filters, | public Conv1D Conv1D(int filters, | ||||
| Shape kernel_size, | Shape kernel_size, | ||||
| int? strides = null, | |||||
| int strides = 1, | |||||
| string padding = "valid", | string padding = "valid", | ||||
| string data_format = null, | |||||
| int? dilation_rate = null, | |||||
| string data_format = "channels_last", | |||||
| int dilation_rate = 1, | |||||
| int groups = 1, | int groups = 1, | ||||
| string activation = null, | string activation = null, | ||||
| bool use_bias = true, | bool use_bias = true, | ||||
| string kernel_initializer = "glorot_uniform", | string kernel_initializer = "glorot_uniform", | ||||
| string bias_initializer = "zeros") | string bias_initializer = "zeros") | ||||
| { | |||||
| // Special case: Conv1D will be implemented as Conv2D with H=1, so we need to add a 1-sized dimension to the kernel. | |||||
| // Lower-level logic handles the stride and dilation_rate, but the kernel_size needs to be set properly here. | |||||
| return new Conv1D(new Conv1DArgs | |||||
| => new Conv1D(new Conv1DArgs | |||||
| { | { | ||||
| Rank = 1, | Rank = 1, | ||||
| Filters = filters, | Filters = filters, | ||||
| KernelSize = kernel_size ?? new Shape(1, 5), | KernelSize = kernel_size ?? new Shape(1, 5), | ||||
| Strides = strides == null ? 1 : strides, | |||||
| Strides = strides, | |||||
| Padding = padding, | Padding = padding, | ||||
| DataFormat = data_format, | DataFormat = data_format, | ||||
| DilationRate = dilation_rate == null ? 1 : dilation_rate, | |||||
| DilationRate = dilation_rate, | |||||
| Groups = groups, | Groups = groups, | ||||
| UseBias = use_bias, | UseBias = use_bias, | ||||
| Activation = GetActivationByName(activation), | Activation = GetActivationByName(activation), | ||||
| KernelInitializer = GetInitializerByName(kernel_initializer), | KernelInitializer = GetInitializerByName(kernel_initializer), | ||||
| BiasInitializer = GetInitializerByName(bias_initializer) | BiasInitializer = GetInitializerByName(bias_initializer) | ||||
| }); | }); | ||||
| } | |||||
| /// <summary> | /// <summary> | ||||
| /// 2D convolution layer (e.g. spatial convolution over images). | /// 2D convolution layer (e.g. spatial convolution over images). | ||||