2020 ************************************************************/
2121// #include "../layer/convolution.h"
2222
23- #include < cctype>
24-
2523#include " convolution.h"
2624
25+ #include < cctype>
26+
2727namespace singa {
2828
2929ConvHandle::ConvHandle (const Tensor &input,
@@ -188,7 +188,8 @@ Tensor CpuConvForward(const Tensor &x, Tensor &W, Tensor &b,
188188 {x.block (), W.block (), b.block ()}, {output.block ()}, " CpuConvForward" );
189189
190190 return output;
191- #else // cpp naive
191+ #else // cpp naive, error due to Im2col importing
192+ /*
192193 Shape w_shape = W.shape();
193194 Shape b_shape;
194195 if (ch.bias_term) b_shape = b.shape();
@@ -219,6 +220,7 @@ Tensor CpuConvForward(const Tensor &x, Tensor &W, Tensor &b,
219220 W.Reshape(w_shape);
220221 if (ch.bias_term) b.Reshape(b_shape);
221222 return output;
223+ */
222224#endif // USE_DNNL
223225}
224226
@@ -284,6 +286,7 @@ Tensor CpuConvBackwardx(const Tensor &dy, Tensor &W, const Tensor &x,
284286 return dx;
285287
286288#else // NOT USE_DNNL
289+ /* // error due to importing Col2im
287290 Shape w_shape = W.shape();
288291 W.Reshape(Shape{ch.num_filters, ch.col_height});
289292
@@ -303,6 +306,7 @@ Tensor CpuConvBackwardx(const Tensor &dy, Tensor &W, const Tensor &x,
303306 }
304307 W.Reshape(w_shape);
305308 return dx;
309+ */
306310#endif // USE_DNNL
307311}
308312
@@ -372,10 +376,12 @@ Tensor CpuConvBackwardW(const Tensor &dy, const Tensor &x, const Tensor &W,
372376 {DNNL_ARG_DIFF_BIAS , conv_diff_bias_memory}});
373377 ctx->dnnl_stream .wait ();
374378 },
375- {x.block (), dy.block (), W.block ()}, {dW.block (), ch.db ->block ()}, " CpuConvBackwardW" );
379+ {x.block (), dy.block (), W.block ()}, {dW.block (), ch.db ->block ()},
380+ " CpuConvBackwardW" );
376381
377382 return dW;
378383#else // native cpp
384+ /* // error due to importing Im2col
379385 Tensor dW;
380386 dW.ResetLike(W);
381387 dW.SetValue(0.0f);
@@ -398,6 +404,7 @@ Tensor CpuConvBackwardW(const Tensor &dy, const Tensor &x, const Tensor &W,
398404 }
399405 dW.Reshape(w_shape);
400406 return dW;
407+ */
401408#endif // USE_DNNL
402409}
403410
@@ -598,7 +605,8 @@ Tensor GpuConvForward(const Tensor &x, const Tensor &W, const Tensor &b,
598605 cch.workspace_count * sizeof (float ), &beta,
599606 cch.y_desc , outblock->mutable_data ());
600607 },
601- {x.block (), W.block ()}, {output.block (), cch.workspace .block ()}, " cudnnConvForward" );
608+ {x.block (), W.block ()}, {output.block (), cch.workspace .block ()},
609+ " cudnnConvForward" );
602610
603611 if (cch.bias_term ) {
604612 Tensor outputFake (output);
@@ -634,7 +642,8 @@ Tensor GpuConvBackwardx(const Tensor &dy, const Tensor &W, const Tensor &x,
634642 cch.workspace_count * sizeof (float ), &beta, cch.x_desc ,
635643 dxblock->mutable_data ());
636644 },
637- {dy.block (), W.block ()}, {dx.block (), cch.workspace .block ()}, " cudnnConvolutionBackwardData" );
645+ {dy.block (), W.block ()}, {dx.block (), cch.workspace .block ()},
646+ " cudnnConvolutionBackwardData" );
638647
639648 return dx;
640649}
@@ -658,7 +667,8 @@ Tensor GpuConvBackwardW(const Tensor &dy, const Tensor &x, const Tensor &W,
658667 cch.workspace_count * sizeof (float ), &beta, cch.filter_desc ,
659668 dwblock->mutable_data ());
660669 },
661- {dy.block (), x.block ()}, {dW.block (), cch.workspace .block ()}, " cudnnConvolutionBackwardFilter" );
670+ {dy.block (), x.block ()}, {dW.block (), cch.workspace .block ()},
671+ " cudnnConvolutionBackwardFilter" );
662672
663673 return dW;
664674}
0 commit comments