提交 da616a6f 编写于 作者: H hedaoyuan

Fix some bugs.

上级 370dcf76
...@@ -202,9 +202,10 @@ void DepthwiseConvolution(const std::string& conv1, ...@@ -202,9 +202,10 @@ void DepthwiseConvolution(const std::string& conv1,
for (size_t outputChannels : {32, 64}) { for (size_t outputChannels : {32, 64}) {
for (size_t stride : {1, 2}) { for (size_t stride : {1, 2}) {
for (size_t padding : {0, 1}) { for (size_t padding : {0, 1}) {
// NNPACK only supports stride = 1 if batchSize > 1 // NNPACK only supports stride = 1 if batchSize > 1,
// and there has some bug when batchSize > 1 and groups != 1
if ((conv1 == "NNPACKConv-CPU" || conv2 == "NNPACKConv-CPU") && if ((conv1 == "NNPACKConv-CPU" || conv2 == "NNPACKConv-CPU") &&
batchSize > 1 && stride > 1) batchSize > 1)
break; break;
size_t outputSize = size_t outputSize =
......
...@@ -201,28 +201,25 @@ public: ...@@ -201,28 +201,25 @@ public:
CHECK_EQ(strideW(), 1); CHECK_EQ(strideW(), 1);
// TODO(hedaoyuan): There has some bug when batchSize > 1 and groups_ > 1. // TODO(hedaoyuan): There has some bug when batchSize > 1 and groups_ > 1.
CHECK_EQ(groups_, (size_t)1); CHECK_EQ(groups_, static_cast<size_t>(1));
for (size_t g = 0; g < groups_; g++) { nnp_status status = nnp_convolution_output(algorithm_,
nnp_status status = batchSize,
nnp_convolution_output(algorithm_, inputChannels,
batchSize, outputChannels,
inputChannels / groups_, inputSize,
outputChannels / groups_, padding,
inputSize, kernelSize,
padding, inputData,
kernelSize, filterData,
inputData + inputOffset * g, nullptr, /* bias */
filterData + filterOffset * g, outputData,
nullptr, /* bias */ bufferPtr,
outputData + outputOffset * g, sizePtr,
bufferPtr, nnp_activation_identity,
sizePtr, nullptr,
nnp_activation_identity, threadpool_, /* threadpool */
nullptr, nullptr);
threadpool_, /* threadpool */ CHECK_EQ(status, nnp_status_success);
nullptr);
CHECK_EQ(status, nnp_status_success);
}
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册