Add Conv1DTranspose, Conv2DTranspose, Conv3DTranspose layers
See original GitHub issueCurrently, the support for Conv2DTranspose and Conv3DTranspose, Conv1DTranspose are missed, and it would be great to add support for these layers. The desired PR addressing this issue should include:
- Implementation of layer class named as
Conv2DTranspose(you can take inspiration from the implementation ofConv2Das reference) - Implementation of layer class named as
Conv3DTranspose(you can take inspiration from the implementation ofConv3Das reference) - Implementation of layer class named as
Conv1DTranspose - Common hierarchy of all ConvTranspose layers with abstract class with the common functionality
- Documentation of layer and all non-private methods
- JUnit tests in
apimodule - Support for export of layer to JSON (see ModelSaver.kt)
- Support for import of layer from JSON (see ModelLoader.kt)
This operation is sometimes called “deconvolution” after Deconvolutional Networks
De-convolution could be implemented internally via tf.nn.conv2dBackpropInput or tf.nn.conv3dBackpropInput, also you need to implement analogue of convOutputLength function.
Also, if needed, you can take a look at Keras documentation for Conv2DTranspose, and Conv3DTranspose.
NOTE: for the moment, there is no need to add support for “data format” (i.e., channels last vs. channels first) in your PR; you can assume the channels are always in the last dimension.
P.S. If you want to take this ticket, please leave the comment below P.P.S Read the Contributing Guidelines.
Issue Analytics
- State:
- Created 2 years ago
- Comments:6 (3 by maintainers)

Top Related StackOverflow Question
@zaleslaw Actually, it exists in TF Keras: https://www.tensorflow.org/api_docs/python/tf/keras/layers/Conv1DTranspose But it’s not listed in Keras doc website. And, for the moment, Keras API actually just redirects to TF Keras; so it makes sense to have it.
I found it here and then think about adding also to KotlinDL. Isn’t it the layer that we are thinking about?