1

New to TensorFlow. I have a single-channel image of size W x H. I would like to do a 1D deconvolution on this image with a kernel that only calculates the deconvoluted output row-wise, and 3 by 3 pixels. Meaning that it uses each group of 3 pixels within a row only once in the deconvolution process. I guess this could be achieved by the stride parameter?

I am aware that there is a conv1d_transpose in the contrib branch of TensorFlow, but with the current limited documentation on it, I am rather confused how to achieve the above. Any recommendations are appreciated.

Tsyvarev
  • 60,011
  • 17
  • 110
  • 153
user20112015
  • 307
  • 1
  • 3
  • 9

1 Answers1

0

I would do this with stride and using the standard 2D convolution/transpose. I'm not familiar with conv1d_transpose, but I'm all but certain you wouldn't be able to use a 3x3 kernel with a conv1D operation.

A conv1D operations would operate on a vector, such as a optical spectra (an example here just in case it doesn't make sense: https://dr12.sdss.org/spectrumDetail?plateid=5008&mjd=55744&fiber=278)

David Parks
  • 30,789
  • 47
  • 185
  • 328
  • Yes, exactly I would like to perform this deconvolution operation on vectors (which are the rows of my matrix), but I couldn't find any useful documentation to guide me how to achieve that. :( – user20112015 Mar 14 '18 at 16:33
  • 1
    Wouldn't you want a kernel size of 3x1 then, not 3x3? I was confused by that. I've operated on this spectrum data using 2D convolutions just holding the second dimension fixed at 1. It works fine and as you would expect (no gotchas). – David Parks Mar 14 '18 at 16:38