[Bugfix] Fix winograd nnpack fp16 (#3046)
authorhlu1 <14827759+hlu1@users.noreply.github.com>
Sat, 20 Apr 2019 00:50:34 +0000 (17:50 -0700)
committerTianqi Chen <tqchen@users.noreply.github.com>
Sat, 20 Apr 2019 00:50:34 +0000 (17:50 -0700)
topi/python/topi/arm_cpu/conv2d.py

index caa735b33abeb9b695d8e93b6ee59402172ccb4d..9f08f686dde704c4041fbdd37e70995d8e0cbde8 100644 (file)
@@ -569,7 +569,7 @@ def conv2d_arm_cpu_winograd_nnpack(
     assert N == 1
     with tvm.tag_scope("winograd_nnpack_conv2d_weight_transform"):
         transformed_kernel = tvm.contrib.nnpack.convolution_inference_weight_transform(
-            kernel, algorithm=tvm.contrib.nnpack.ConvolutionAlgorithm.WT_8x8)
+            kernel, algorithm=cfg['winograd_nnpack_algorithm'].val)
         if autotvm.GLOBAL_SCOPE.in_tuning:
             transformed_kernel = tvm.compute(transformed_kernel.shape, lambda *args: 0.0)
 
@@ -653,7 +653,7 @@ def conv2d_winograd_nnpack_ww(cfg, data, transformed_kernel, bias, strides,
             bias=bias,
             padding=[HPAD, HPAD, WPAD, WPAD],
             stride=[HSTR, WSTR],
-            algorithm=tvm.contrib.nnpack.ConvolutionAlgorithm.WT_8x8)
+            algorithm=cfg['winograd_nnpack_algorithm'].val)
 
     # we have to manually assign effective GFLOP for winograd
     cfg.add_flop(2 * N * CI * H * W * KH * KW * CO)