提交 d746e49f 编写于 作者: X xzl

add dilation to conv test

上级 e06f8fcf
...@@ -79,10 +79,12 @@ void Convolution(const std::string& conv1, ...@@ -79,10 +79,12 @@ void Convolution(const std::string& conv1,
if (outputChannels < inputChannels) continue; if (outputChannels < inputChannels) continue;
for (size_t stride : {1, 2}) { for (size_t stride : {1, 2}) {
for (size_t padding : {0, 1}) { for (size_t padding : {0, 1}) {
for (size_t dilation : {1}) {
if (padding >= filterSize) break; if (padding >= filterSize) break;
// NNPACK only supports stride = 1 if batchSize > 1 // NNPACK only supports stride = 1 if batchSize > 1
if ((conv1 == "NNPACKConv-CPU" || conv2 == "NNPACKConv-CPU") && if ((conv1 == "NNPACKConv-CPU" ||
conv2 == "NNPACKConv-CPU") &&
batchSize > 1 && stride > 1) batchSize > 1 && stride > 1)
break; break;
...@@ -96,17 +98,19 @@ void Convolution(const std::string& conv1, ...@@ -96,17 +98,19 @@ void Convolution(const std::string& conv1,
<< " filterHeight=" << filterSize << " filterHeight=" << filterSize
<< " filterWidth=" << filterSize << " filterWidth=" << filterSize
<< " outputHeight=" << outputSize << " outputHeight=" << outputSize
<< " outputWidth=" << outputSize << " stride=" << stride << " outputWidth=" << outputSize
<< " padding=" << padding; << " stride=" << stride << " padding=" << padding;
std::vector<size_t> paddings = {padding, padding}; std::vector<size_t> paddings = {padding, padding};
std::vector<size_t> strides = {stride, stride}; std::vector<size_t> strides = {stride, stride};
std::vector<size_t> dilations = {dilation, dilation};
Compare2Function<DType1, DType2> test( Compare2Function<DType1, DType2> test(
conv1, conv1,
conv2, conv2,
FuncConfig() FuncConfig()
.set("paddings", paddings) .set("paddings", paddings)
.set("strides", strides) .set("strides", strides)
.set("dilations", dilations)
.set("groups", (size_t)1) .set("groups", (size_t)1)
.set("algo", (std::string) "auto")); .set("algo", (std::string) "auto"));
...@@ -125,6 +129,7 @@ void Convolution(const std::string& conv1, ...@@ -125,6 +129,7 @@ void Convolution(const std::string& conv1,
} }
} }
} }
}
} }
/** /**
...@@ -144,6 +149,7 @@ void Convolution2(const std::string& conv1, ...@@ -144,6 +149,7 @@ void Convolution2(const std::string& conv1,
for (size_t outputChannels : {7}) { for (size_t outputChannels : {7}) {
size_t stride = 1; size_t stride = 1;
size_t padding = 0; size_t padding = 0;
size_t dilation = 1;
size_t outputHeight = size_t outputHeight =
(inputHeight - filterHeight + 2 * padding + stride) / (inputHeight - filterHeight + 2 * padding + stride) /
stride; stride;
...@@ -162,6 +168,7 @@ void Convolution2(const std::string& conv1, ...@@ -162,6 +168,7 @@ void Convolution2(const std::string& conv1,
std::vector<size_t> paddings = {padding, padding}; std::vector<size_t> paddings = {padding, padding};
std::vector<size_t> strides = {stride, stride}; std::vector<size_t> strides = {stride, stride};
std::vector<size_t> dilations = {dilation, dilation};
Compare2Function<DType1, DType2> test( Compare2Function<DType1, DType2> test(
conv1, conv1,
conv2, conv2,
...@@ -169,6 +176,7 @@ void Convolution2(const std::string& conv1, ...@@ -169,6 +176,7 @@ void Convolution2(const std::string& conv1,
.set("paddings", paddings) .set("paddings", paddings)
.set("strides", strides) .set("strides", strides)
.set("groups", (size_t)1) .set("groups", (size_t)1)
.set("dilations", dilations)
.set("algo", (std::string) "auto")); .set("algo", (std::string) "auto"));
TensorShape input{ TensorShape input{
...@@ -223,6 +231,7 @@ void DepthwiseConvolution(const std::string& conv1, ...@@ -223,6 +231,7 @@ void DepthwiseConvolution(const std::string& conv1,
std::vector<size_t> paddings = {padding, padding}; std::vector<size_t> paddings = {padding, padding};
std::vector<size_t> strides = {stride, stride}; std::vector<size_t> strides = {stride, stride};
std::vector<size_t> dilations = {1, 1};
size_t groups = inputChannels; size_t groups = inputChannels;
Compare2Function<DType1, DType2> test( Compare2Function<DType1, DType2> test(
conv1, conv1,
...@@ -231,6 +240,7 @@ void DepthwiseConvolution(const std::string& conv1, ...@@ -231,6 +240,7 @@ void DepthwiseConvolution(const std::string& conv1,
.set("paddings", paddings) .set("paddings", paddings)
.set("strides", strides) .set("strides", strides)
.set("groups", groups) .set("groups", groups)
.set("dilations", dilations)
.set("algo", (std::string) "auto")); .set("algo", (std::string) "auto"));
TensorShape input{ TensorShape input{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册