Performing 1d Convolution Using 2d Kernel In Keras
I am currently working on a CNN network, in which i want to apply a 2d kernel on a image, but it only has to perform 1d convolution, meaning that it only has to move along one axis
Solution 1:
Assuming that your image shape=(dim_x, dim_y, img_channels)
you can obtain a 1D
convolution by setting:
conv1d_on_image = Convolution2D(output_channels, 1, dim_y, border_mode='valid')(input)
Remember that the output from this layer would have shape (dim_x, 1, output_channels)
. If you want your input to be sequential you may use the Reshape
layer by setting:
conv1d_on_image = Reshape((dim_x, output_channels))(conv1d_on_image)
This would produce output with shape (dim_x, output_channels)
.
Baca Juga
- How To Convert Rgb Images To Grayscale, Expand Dimensions Of That Grayscale Image To Use In Inceptionv3?
- Typeerror: '>' Not Supported Between Instances Of 'nonetype' And 'float'
- I Use Tfliteconvert Post_training_quantize=true But My Model Is Still Too Big For Being Hosted In Firebase Ml Kit's Custom Servers
An interesting fact is that this is exactly the way how Conv1D
works in Keras
with tf
backend.
Post a Comment for "Performing 1d Convolution Using 2d Kernel In Keras"