|
|
|
@@ -164,7 +164,7 @@ static int test_convolution_int8(int w, int h, int c, int outch, int kernel, int |
|
|
|
int ret = test_layer<ncnn::Convolution>("Convolution", pd, mb, opt, a, 0.001f, requant ? set_param : 0); |
|
|
|
if (ret != 0) |
|
|
|
{ |
|
|
|
fprintf(stderr, "test_convolution_int8 failed w=%d h=%d c=%d outch=%d kernel=%d dilation=%d stride=%d pad=%d bias=%d\n", w, h, c, outch, kernel, dilation, stride, pad, bias); |
|
|
|
fprintf(stderr, "test_convolution_int8 failed w=%d h=%d c=%d outch=%d kernel=%d dilation=%d stride=%d pad=%d bias=%d requant=%d\n", w, h, c, outch, kernel, dilation, stride, pad, bias, requant); |
|
|
|
} |
|
|
|
|
|
|
|
return 0; |
|
|
|
@@ -227,25 +227,25 @@ static int test_convolution_1() |
|
|
|
for (int i=0; i<20; i++) |
|
|
|
{ |
|
|
|
int ret = 0 |
|
|
|
|| test_convolution_int8(1, 1, 1, 1, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(1, 1, 1, 1, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(1, 1, 2, 2, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(1, 1, 3, 3, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(1, 1, 4, 4, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(1, 1, 7, 7, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(1, 1, 8, 8, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(1, 1, 15, 15, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(1, 1, 16, 16, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(13, 11, 1, 1, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(13, 11, 1, 1, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(13, 11, 2, 2, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(13, 11, 3, 3, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(13, 11, 4, 4, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(13, 11, 7, 7, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(13, 11, 8, 8, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(13, 11, 15, 15, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(13, 11, 16, 16, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|
|
|
|
|| test_convolution_int8(1, 1, 1, 1, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(1, 1, 2, 2, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(1, 1, 3, 3, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(1, 1, 3, 12, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(1, 1, 4, 4, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(1, 1, 8, 3, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(1, 1, 8, 8, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(1, 1, 16, 4, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(1, 1, 16, 16, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(13, 11, 1, 1, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(13, 11, 2, 2, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(13, 11, 3, 3, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(13, 11, 3, 12, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(13, 11, 4, 4, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(13, 11, 8, 3, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(13, 11, 8, 8, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(13, 11, 16, 4, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
|| test_convolution_int8(13, 11, 16, 16, kdsp[i][0], kdsp[i][1], kdsp[i][2], kdsp[i][3], 1, true) |
|
|
|
; |
|
|
|
|
|
|
|
if (ret != 0) |
|
|
|
|