diff options
author | Jonathan L Long <jonlong@cs.berkeley.edu> | 2015-01-27 10:45:41 -0800 |
---|---|---|
committer | Jonathan L Long <jonlong@cs.berkeley.edu> | 2015-01-27 13:17:50 -0800 |
commit | 408133ce4139a95960577e8d36daa16e9dd9e03a (patch) | |
tree | e50ea2dfe717b04fecffcd31ce3461b4cc1491d1 /include/caffe/vision_layers.hpp | |
parent | 3617352124ab97154d37534e4ba30d7a2b9b6d2f (diff) | |
download | caffeonacl-408133ce4139a95960577e8d36daa16e9dd9e03a.tar.gz caffeonacl-408133ce4139a95960577e8d36daa16e9dd9e03a.tar.bz2 caffeonacl-408133ce4139a95960577e8d36daa16e9dd9e03a.zip |
document DeconvolutionLayer
Diffstat (limited to 'include/caffe/vision_layers.hpp')
-rw-r--r-- | include/caffe/vision_layers.hpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/caffe/vision_layers.hpp b/include/caffe/vision_layers.hpp index 646378de..fc178e4c 100644 --- a/include/caffe/vision_layers.hpp +++ b/include/caffe/vision_layers.hpp @@ -16,6 +16,10 @@ namespace caffe { +/** + * @brief Abstract base class that factors out the BLAS code common to + * ConvolutionLayer and DeconvolutionLayer. + */ template <typename Dtype> class BaseConvolutionLayer : public Layer<Dtype> { public: @@ -173,6 +177,20 @@ class ConvolutionLayer : public BaseConvolutionLayer<Dtype> { virtual void compute_output_shape(); }; +/** + * @brief Convolve the input with a bank of learned filters, and (optionally) + * add biases, treating filters and convolution parameters in the + * opposite sense as ConvolutionLayer. + * + * ConvolutionLayer computes each output value by dotting an input window with + * a filter; DeconvolutionLayer multiplies each input value by a filter + * elementwise, and sums over the resulting output windows. In other words, + * DeconvolutionLayer is ConvolutionLayer with the forward and backward passes + * reversed. DeconvolutionLayer reuses ConvolutionParameter for its + * parameters, but they take the opposite sense as in ConvolutionLayer (so + * padding is removed from the output rather than added to the input, and + * stride results in upsampling rather than downsampling). + */ template <typename Dtype> class DeconvolutionLayer : public BaseConvolutionLayer<Dtype> { public: |