Paddle-Lite icon indicating copy to clipboard operation
Paddle-Lite copied to clipboard

conv1d卷积层在rp3399开发板上转换成lite支持模型报错Segmentation fault (core dumped)

Open hybry opened this issue 3 years ago • 11 comments

为使您的问题得到快速解决,在建立 Issue 前,请您先通过如下方式搜索是否有相似问题: 历史 issue, FAQ 文档, 官方文档

建立 issue 时,为快速解决问题,请您根据使用情况给出如下信息:

  • 标题:conv1d卷积层转换成lite支持模型报错Segmentation fault (core dumped)

  • 版本、环境信息:    1)Paddle Lite 版本:v2.10    2)Host 环境:Ubuntu 16.04 aarch64 芯片型号:RK3399

  • 模型信息    1)模型名称 nn.Conv1D 2)模型链接

  • 复现信息:

  • 代码段一:

  • class lite_test(nn.Layer): def init( self, in_channels: int, out_channels: int, dilation: int=1, stride: int=1, bias: bool=True, ): super(lite_test, self).init() self.conv = nn.Conv1D( in_channels, out_channels, kernel_size=1, padding=0, dilation=dilation, stride=stride, groups=1, bias_attr=bias, )

    def forward(self, inputs: paddle.Tensor): outputs = self.conv(inputs) return outputs

if name == 'main': # dynamic2static() model = lite_test(80, 32) model = to_static(model, input_spec=[InputSpec(shape=[None, 80, None])]) paddle.jit.save(model, "checkpoint/speech/kws")

代码段二: a=Opt() # conmbined 形式,具体模型和参数名称,请根据实际修改 a.set_model_file(model_name + ".pdmodel") a.set_param_file(model_name + ".pdiparams") a.set_optimize_out(model_name) a.set_model_type("naive_buffer") a.set_valid_places(places)
a.run()

  • 问题描述:
  • 使用代码段一在pc机上生成静态模型;
  • 将静态模型拷贝到rp3399开发板,使用代码段二进行转换时,出现报错
  • Loading topology data from kws.pdmodel
  • Loading params data from kws.pdiparams
    1. Model is successfully loaded!
  • Segmentation fault (core dumped)

1、经过测试,只有在kernel_size和groups都被设置为1的时候出现错误; 2、尝试打开with_exception后编译,没有打印异常信息; 3、根据对应参数梳理C++代码,梳理到汇编部分,没有发现明显的限制问题;

目前怀疑点: 1、rk3399芯片即arm64平台不支持这一极端情况; 2、汇编代码处理的时候,出现超出范围的异常情况;

hybry avatar Jul 19 '22 04:07 hybry

关于初次的分析是基于梳理模型运行代码的结果,思路存在偏差,正在梳理模型转换的代码。

hybry avatar Jul 19 '22 06:07 hybry

[1 7/19 19:10:36. 50 ...bry/Paddle-Lite/lite/core/device_info.cc:1260 Setup] ARM multiprocessors name: [1 7/19 19:10:36. 50 ...bry/Paddle-Lite/lite/core/device_info.cc:1261 Setup] ARM multiprocessors number: 6 [1 7/19 19:10:36. 50 ...bry/Paddle-Lite/lite/core/device_info.cc:1263 Setup] ARM multiprocessors ID: 0, max freq: 1416, min freq: 1416, cluster ID: 1, CPU ARCH: A53 [1 7/19 19:10:36. 50 ...bry/Paddle-Lite/lite/core/device_info.cc:1263 Setup] ARM multiprocessors ID: 1, max freq: 1416, min freq: 1416, cluster ID: 1, CPU ARCH: A53 [1 7/19 19:10:36. 50 ...bry/Paddle-Lite/lite/core/device_info.cc:1263 Setup] ARM multiprocessors ID: 2, max freq: 1416, min freq: 1416, cluster ID: 1, CPU ARCH: A53 [1 7/19 19:10:36. 50 ...bry/Paddle-Lite/lite/core/device_info.cc:1263 Setup] ARM multiprocessors ID: 3, max freq: 1416, min freq: 1416, cluster ID: 1, CPU ARCH: A53 [1 7/19 19:10:36. 51 ...bry/Paddle-Lite/lite/core/device_info.cc:1263 Setup] ARM multiprocessors ID: 4, max freq: 1800, min freq: 1800, cluster ID: 0, CPU ARCH: A72 [1 7/19 19:10:36. 51 ...bry/Paddle-Lite/lite/core/device_info.cc:1263 Setup] ARM multiprocessors ID: 5, max freq: 1800, min freq: 1800, cluster ID: 0, CPU ARCH: A72 [1 7/19 19:10:36. 51 ...bry/Paddle-Lite/lite/core/device_info.cc:1269 Setup] L1 DataCache size is: [1 7/19 19:10:36. 51 ...bry/Paddle-Lite/lite/core/device_info.cc:1271 Setup] 32 KB [1 7/19 19:10:36. 51 ...bry/Paddle-Lite/lite/core/device_info.cc:1271 Setup] 32 KB [1 7/19 19:10:36. 51 ...bry/Paddle-Lite/lite/core/device_info.cc:1271 Setup] 32 KB [1 7/19 19:10:36. 51 ...bry/Paddle-Lite/lite/core/device_info.cc:1271 Setup] 32 KB [1 7/19 19:10:36. 51 ...bry/Paddle-Lite/lite/core/device_info.cc:1271 Setup] 32 KB [1 7/19 19:10:36. 51 ...bry/Paddle-Lite/lite/core/device_info.cc:1271 Setup] 32 KB [1 7/19 19:10:36. 51 ...bry/Paddle-Lite/lite/core/device_info.cc:1273 Setup] L2 Cache size is: [1 7/19 19:10:36. 51 ...bry/Paddle-Lite/lite/core/device_info.cc:1275 Setup] 512 KB [1 7/19 19:10:36. 51 ...bry/Paddle-Lite/lite/core/device_info.cc:1275 Setup] 512 KB [1 7/19 19:10:36. 52 ...bry/Paddle-Lite/lite/core/device_info.cc:1275 Setup] 512 KB [1 7/19 19:10:36. 52 ...bry/Paddle-Lite/lite/core/device_info.cc:1275 Setup] 512 KB [1 7/19 19:10:36. 52 ...bry/Paddle-Lite/lite/core/device_info.cc:1275 Setup] 512 KB [1 7/19 19:10:36. 52 ...bry/Paddle-Lite/lite/core/device_info.cc:1275 Setup] 512 KB [1 7/19 19:10:36. 52 ...bry/Paddle-Lite/lite/core/device_info.cc:1277 Setup] L3 Cache size is: [1 7/19 19:10:36. 52 ...bry/Paddle-Lite/lite/core/device_info.cc:1279 Setup] 0 KB [1 7/19 19:10:36. 52 ...bry/Paddle-Lite/lite/core/device_info.cc:1279 Setup] 0 KB [1 7/19 19:10:36. 52 ...bry/Paddle-Lite/lite/core/device_info.cc:1279 Setup] 0 KB [1 7/19 19:10:36. 52 ...bry/Paddle-Lite/lite/core/device_info.cc:1279 Setup] 0 KB [1 7/19 19:10:36. 52 ...bry/Paddle-Lite/lite/core/device_info.cc:1279 Setup] 0 KB [1 7/19 19:10:36. 52 ...bry/Paddle-Lite/lite/core/device_info.cc:1279 Setup] 0 KB [1 7/19 19:10:36. 52 ...bry/Paddle-Lite/lite/core/device_info.cc:1281 Setup] Total memory: 3937440KB [1 7/19 19:10:36. 52 ...bry/Paddle-Lite/lite/core/device_info.cc:1282 Setup] SVE2 support: 0 [1 7/19 19:10:36. 53 ...bry/Paddle-Lite/lite/core/device_info.cc:1283 Setup] SVE2 f32mm support: 0 [1 7/19 19:10:36. 53 ...bry/Paddle-Lite/lite/core/device_info.cc:1284 Setup] SVE2 i8mm support: 0 [1 7/19 19:10:36. 58 ...bry/Paddle-Lite/lite/api/cxx_api_impl.cc:120 Init] use_layout_preprocess_pass:18446744073709551615 [1 7/19 19:10:36. 58 ...op/hybry/Paddle-Lite/lite/api/cxx_api.cc:308 Build] Load model from file. Loading topology data from kws.pdmodel Loading params data from kws.pdiparams

  1. Model is successfully loaded! [3 7/19 19:10:36. 61 ...ite/lite/core/optimizer/mir/ssa_graph.cc:168 Build] feed [3 7/19 19:10:36. 62 ...ite/lite/core/optimizer/mir/ssa_graph.cc:168 Build] unsqueeze2 [3 7/19 19:10:36. 62 ...ite/lite/core/optimizer/mir/ssa_graph.cc:168 Build] unsqueeze2 [3 7/19 19:10:36. 62 ...ite/lite/core/optimizer/mir/ssa_graph.cc:168 Build] conv2d [3 7/19 19:10:36. 62 ...ite/lite/core/optimizer/mir/ssa_graph.cc:168 Build] elementwise_add [3 7/19 19:10:36. 63 ...ite/lite/core/optimizer/mir/ssa_graph.cc:168 Build] squeeze2 [3 7/19 19:10:36. 63 ...ite/lite/core/optimizer/mir/ssa_graph.cc:168 Build] fetch [1 7/19 19:10:36. 63 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_quant_dequant_fuse_pass [3 7/19 19:10:36. 63 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 64 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 64 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 64 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 64 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 64 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 64 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 64 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 3 nodes marked [3 7/19 19:10:36. 64 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 1 get records: 2 [3 7/19 19:10:36. 65 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 2 get records: 1 [3 7/19 19:10:36. 65 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 3 get records: 0 [3 7/19 19:10:36. 65 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 65 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 65 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 65 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 66 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 66 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 66 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 66 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 66 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 66 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 66 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 67 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 67 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 67 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 67 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 67 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 67 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 67 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 3 nodes marked [3 7/19 19:10:36. 67 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 1 get records: 2 [3 7/19 19:10:36. 68 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 2 get records: 1 [3 7/19 19:10:36. 68 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 3 get records: 0 [3 7/19 19:10:36. 68 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 68 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 68 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 68 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 68 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 69 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 69 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 69 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 69 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 69 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 70 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 70 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 70 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 70 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 70 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 70 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 70 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 71 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 71 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 71 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 71 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 71 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 71 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 71 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 71 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 72 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 72 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 72 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 72 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 72 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 72 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 72 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 72 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 72 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 73 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 73 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 73 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 73 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 73 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 73 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 74 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 74 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 74 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 74 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 74 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 74 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 75 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 75 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 75 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 75 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 75 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 75 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 76 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 76 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 76 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [1 7/19 19:10:36. 76 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: lite_quant_dequant_fuse_pass [1 7/19 19:10:36. 76 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: weight_quantization_preprocess_pass [1 7/19 19:10:36. 76 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: weight_quantization_preprocess_pass [1 7/19 19:10:36. 76 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: op_transformation_pass [1 7/19 19:10:36. 76 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: op_transformation_pass [1 7/19 19:10:36. 76 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: assign_value_calc_offline_pass [1 7/19 19:10:36. 77 ...le-Lite/lite/core/optimizer/optimizer.cc:112 ApplyPasses] - Skip assign_value_calc_offline_pass because the target or kernel does not match. [1 7/19 19:10:36. 77 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: p_norm_fill_constant_max_div_fuse_pass [1 7/19 19:10:36. 77 ...le-Lite/lite/core/optimizer/optimizer.cc:112 ApplyPasses] - Skip p_norm_fill_constant_max_div_fuse_pass because the target or kernel does not match. [1 7/19 19:10:36. 77 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: fill_constant_calc_offline_pass [1 7/19 19:10:36. 77 ...le-Lite/lite/core/optimizer/optimizer.cc:112 ApplyPasses] - Skip fill_constant_calc_offline_pass because the target or kernel does not match. [1 7/19 19:10:36. 77 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: range_calc_offline_pass [1 7/19 19:10:36. 77 ...le-Lite/lite/core/optimizer/optimizer.cc:112 ApplyPasses] - Skip range_calc_offline_pass because the target or kernel does not match. [1 7/19 19:10:36. 77 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: scale_calc_offline_pass [1 7/19 19:10:36. 77 ...le-Lite/lite/core/optimizer/optimizer.cc:112 ApplyPasses] - Skip scale_calc_offline_pass because the target or kernel does not match. [1 7/19 19:10:36. 78 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: unsqueeze_calc_offline_pass [1 7/19 19:10:36. 78 ...le-Lite/lite/core/optimizer/optimizer.cc:112 ApplyPasses] - Skip unsqueeze_calc_offline_pass because the target or kernel does not match. [1 7/19 19:10:36. 78 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: reshape_calc_offline_pass [1 7/19 19:10:36. 78 ...le-Lite/lite/core/optimizer/optimizer.cc:112 ApplyPasses] - Skip reshape_calc_offline_pass because the target or kernel does not match. [1 7/19 19:10:36. 78 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: ssd_boxes_calc_offline_pass [1 7/19 19:10:36. 78 ...le-Lite/lite/core/optimizer/optimizer.cc:112 ApplyPasses] - Skip ssd_boxes_calc_offline_pass because the target or kernel does not match. [1 7/19 19:10:36. 78 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: op_fusion_minimal_set_pass [1 7/19 19:10:36. 78 ...le-Lite/lite/core/optimizer/optimizer.cc:112 ApplyPasses] - Skip op_fusion_minimal_set_pass because the target or kernel does not match. [1 7/19 19:10:36. 78 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: quantization_parameters_propagation_pass [1 7/19 19:10:36. 79 ...le-Lite/lite/core/optimizer/optimizer.cc:112 ApplyPasses] - Skip quantization_parameters_propagation_pass because the target or kernel does not match. [1 7/19 19:10:36. 79 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: restrict_quantized_op_with_same_input_output_scale_pass [1 7/19 19:10:36. 79 ...le-Lite/lite/core/optimizer/optimizer.cc:112 ApplyPasses] - Skip restrict_quantized_op_with_same_input_output_scale_pass because the target or kernel does not match. [1 7/19 19:10:36. 79 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: quantization_parameters_removal_pass [1 7/19 19:10:36. 79 ...le-Lite/lite/core/optimizer/optimizer.cc:112 ApplyPasses] - Skip quantization_parameters_removal_pass because the target or kernel does not match. [1 7/19 19:10:36. 79 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: nnadapter_subgraph_pass [1 7/19 19:10:36. 79 ...le-Lite/lite/core/optimizer/optimizer.cc:112 ApplyPasses] - Skip nnadapter_subgraph_pass because the target or kernel does not match. [1 7/19 19:10:36. 79 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: remove_scale1_pass [1 7/19 19:10:36. 79 ...le-Lite/lite/core/optimizer/optimizer.cc:112 ApplyPasses] - Skip remove_scale1_pass because the target or kernel does not match. [1 7/19 19:10:36. 79 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: adaptive_1x1_pool2d_convert_global_pass [1 7/19 19:10:36. 79 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: adaptive_1x1_pool2d_convert_global_pass [1 7/19 19:10:36. 79 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_unsqueeze2_pad3d_squeeze2_fuse_pass [3 7/19 19:10:36. 80 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 80 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 6 nodes marked [3 7/19 19:10:36. 80 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 1 get records: 2 [3 7/19 19:10:36. 80 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 2 get records: 0 [3 7/19 19:10:36. 80 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [1 7/19 19:10:36. 80 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: lite_unsqueeze2_pad3d_squeeze2_fuse_pass [1 7/19 19:10:36. 80 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_conv_elementwise_fuse_pass [3 7/19 19:10:36. 81 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 81 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 7 nodes marked [3 7/19 19:10:36. 81 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 1 get records: 1 [3 7/19 19:10:36. 81 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 2 get records: 1 [3 7/19 19:10:36. 81 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 3 get records: 0 [3 7/19 19:10:36. 81 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 81 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 81 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 3 nodes marked [3 7/19 19:10:36. 82 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 82 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 82 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 3 nodes marked [3 7/19 19:10:36. 82 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 82 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 82 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 7 nodes marked [3 7/19 19:10:36. 82 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 1 get records: 1 [3 7/19 19:10:36. 82 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 2 get records: 1 [3 7/19 19:10:36. 83 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 3 get records: 1 [3 7/19 19:10:36. 83 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 4 get records: 1 [3 7/19 19:10:36. 83 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 5 get records: 1 [3 7/19 19:10:36. 83 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 6 get records: 1 [1 7/19 19:10:36. 83 ...te/core/optimizer/mir/pattern_matcher.cc:108 operator()] detected 1 subgraph [3 7/19 19:10:36. 83 ...te/core/optimizer/mir/pattern_matcher.cc:111 operator()] optimizing #0 subgraph [3 7/19 19:10:36. 83 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 2 [3 7/19 19:10:36. 84 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 84 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 84 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 84 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 84 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 84 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [1 7/19 19:10:36. 84 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: lite_conv_elementwise_fuse_pass [1 7/19 19:10:36. 84 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_conv_bn_fuse_pass [3 7/19 19:10:36. 84 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 85 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 4 nodes marked [3 7/19 19:10:36. 85 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 1 get records: 1 [3 7/19 19:10:36. 85 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 2 get records: 1 [3 7/19 19:10:36. 85 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 3 get records: 1 [3 7/19 19:10:36. 85 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 4 get records: 0 [3 7/19 19:10:36. 85 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 85 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 85 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 4 nodes marked [3 7/19 19:10:36. 85 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 1 get records: 1 [3 7/19 19:10:36. 85 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 2 get records: 1 [3 7/19 19:10:36. 85 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 3 get records: 1 [3 7/19 19:10:36. 85 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 4 get records: 0 [3 7/19 19:10:36. 85 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 86 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 86 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 86 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 86 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 86 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 86 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 86 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 86 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 87 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 87 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 87 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 87 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 87 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 87 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 3 nodes marked [3 7/19 19:10:36. 87 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 1 get records: 1 [3 7/19 19:10:36. 87 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 2 get records: 1 [3 7/19 19:10:36. 87 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 3 get records: 0 [3 7/19 19:10:36. 87 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 88 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 88 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 3 nodes marked [3 7/19 19:10:36. 88 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 1 get records: 1 [3 7/19 19:10:36. 88 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 2 get records: 1 [3 7/19 19:10:36. 88 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 3 get records: 0 [3 7/19 19:10:36. 88 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 88 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 88 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 88 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 89 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 89 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 89 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 89 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 89 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 89 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 89 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 89 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 89 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [1 7/19 19:10:36. 89 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: lite_conv_bn_fuse_pass [1 7/19 19:10:36. 90 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_conv_elementwise_fuse_pass [3 7/19 19:10:36. 90 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 90 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 4 nodes marked [3 7/19 19:10:36. 90 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 1 get records: 1 [3 7/19 19:10:36. 90 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 2 get records: 1 [3 7/19 19:10:36. 90 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 3 get records: 1 [3 7/19 19:10:36. 90 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 4 get records: 0 [3 7/19 19:10:36. 90 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 90 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 90 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 90 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 90 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 90 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 91 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 91 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 91 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 3 nodes marked [3 7/19 19:10:36. 91 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 1 get records: 1 [3 7/19 19:10:36. 91 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 2 get records: 1 [3 7/19 19:10:36. 91 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 3 get records: 0 [3 7/19 19:10:36. 91 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 91 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 91 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 91 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 91 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 91 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 91 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [1 7/19 19:10:36. 91 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: lite_conv_elementwise_fuse_pass [1 7/19 19:10:36. 91 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_conv_conv_fuse_pass [3 7/19 19:10:36. 92 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 92 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 92 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 92 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 92 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 92 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 92 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 92 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 92 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 92 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 92 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 92 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [1 7/19 19:10:36. 92 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: lite_conv_conv_fuse_pass [1 7/19 19:10:36. 92 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_conv_activation_fuse_pass [3 7/19 19:10:36. 93 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 93 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 4 nodes marked [3 7/19 19:10:36. 93 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 1 get records: 1 [3 7/19 19:10:36. 93 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 2 get records: 1 [3 7/19 19:10:36. 93 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 3 get records: 0 [3 7/19 19:10:36. 93 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 93 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 93 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 3 nodes marked [3 7/19 19:10:36. 93 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 1 get records: 1 [3 7/19 19:10:36. 93 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 2 get records: 1 [3 7/19 19:10:36. 93 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 3 get records: 0 [3 7/19 19:10:36. 93 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 93 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 93 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 4 nodes marked [3 7/19 19:10:36. 93 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 1 get records: 1 [3 7/19 19:10:36. 93 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 2 get records: 1 [3 7/19 19:10:36. 93 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 3 get records: 0 [3 7/19 19:10:36. 93 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 93 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 93 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 3 nodes marked [3 7/19 19:10:36. 93 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 1 get records: 1 [3 7/19 19:10:36. 93 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 2 get records: 1 [3 7/19 19:10:36. 93 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 3 get records: 0 [3 7/19 19:10:36. 94 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 94 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 94 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 4 nodes marked [3 7/19 19:10:36. 94 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 1 get records: 1 [3 7/19 19:10:36. 94 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 2 get records: 1 [3 7/19 19:10:36. 94 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 3 get records: 0 [3 7/19 19:10:36. 94 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 94 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 94 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 3 nodes marked [3 7/19 19:10:36. 94 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 1 get records: 1 [3 7/19 19:10:36. 94 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 2 get records: 1 [3 7/19 19:10:36. 94 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 3 get records: 0 [3 7/19 19:10:36. 94 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 94 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 94 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 4 nodes marked [3 7/19 19:10:36. 94 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 1 get records: 1 [3 7/19 19:10:36. 94 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 2 get records: 1 [3 7/19 19:10:36. 94 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 3 get records: 0 [3 7/19 19:10:36. 94 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 94 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 94 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 3 nodes marked [3 7/19 19:10:36. 94 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 1 get records: 1 [3 7/19 19:10:36. 95 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 2 get records: 1 [3 7/19 19:10:36. 95 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 3 get records: 0 [3 7/19 19:10:36. 95 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 95 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 95 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 95 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 95 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 95 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 95 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 95 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 95 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 95 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 95 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 95 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 95 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 95 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 96 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 96 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 96 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 96 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 96 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 96 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 96 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 96 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 96 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 96 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 96 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 96 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 96 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 96 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 96 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 96 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 96 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 97 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 97 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 97 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 97 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 97 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 97 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 97 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 97 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 97 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 97 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 97 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 97 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [1 7/19 19:10:36. 97 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: lite_conv_activation_fuse_pass [1 7/19 19:10:36. 97 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_var_conv_2d_activation_fuse_pass [1 7/19 19:10:36. 97 ...le-Lite/lite/core/optimizer/optimizer.cc:112 ApplyPasses] - Skip lite_var_conv_2d_activation_fuse_pass because the target or kernel does not match. [1 7/19 19:10:36. 97 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_match_matrix_activation_fuse_pass [1 7/19 19:10:36. 97 ...le-Lite/lite/core/optimizer/optimizer.cc:112 ApplyPasses] - Skip lite_match_matrix_activation_fuse_pass because the target or kernel does not match. [1 7/19 19:10:36. 97 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_squeeze2_matmul_fuse_pass [3 7/19 19:10:36. 98 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 98 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 3 nodes marked [3 7/19 19:10:36. 98 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 1 get records: 0 [3 7/19 19:10:36. 98 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [1 7/19 19:10:36. 98 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: lite_squeeze2_matmul_fuse_pass [1 7/19 19:10:36. 98 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_reshape2_matmul_fuse_pass [3 7/19 19:10:36. 98 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 98 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 2 nodes marked [3 7/19 19:10:36. 98 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [1 7/19 19:10:36. 98 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: lite_reshape2_matmul_fuse_pass [1 7/19 19:10:36. 98 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_matmul_element_add_fuse_pass [3 7/19 19:10:36. 98 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 98 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 98 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36. 99 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 99 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36. 99 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [1 7/19 19:10:36. 99 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: lite_matmul_element_add_fuse_pass [1 7/19 19:10:36. 99 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_matmul_fuse_pass [3 7/19 19:10:36. 99 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 99 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36. 99 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [1 7/19 19:10:36. 99 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: lite_matmul_fuse_pass [1 7/19 19:10:36. 99 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_fc_fuse_pass [3 7/19 19:10:36. 99 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36. 99 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36. 99 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.100 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.100 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.100 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.100 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.100 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.100 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.100 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.100 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.100 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.100 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.100 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.100 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.100 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.101 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.101 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.101 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.101 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.101 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.101 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.101 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.101 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.101 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.101 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.101 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.101 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.101 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.101 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.102 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.102 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.102 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.102 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.102 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.102 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.102 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.102 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.102 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.102 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.102 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.102 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.103 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.103 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.103 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.103 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.103 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.103 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.103 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.103 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.103 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.103 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.103 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.103 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.103 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.103 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.103 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.104 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.104 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.104 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.104 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.104 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.104 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.104 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.104 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.104 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.104 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.104 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.104 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.105 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.105 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.105 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.105 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.105 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.105 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.105 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.105 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.105 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.105 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.105 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.105 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.105 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.106 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.106 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.106 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.106 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.106 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.106 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.106 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.106 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.106 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.106 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.106 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.106 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.106 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.106 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.107 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.107 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.107 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.107 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.107 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.107 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.107 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.107 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.107 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.107 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.107 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.107 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.108 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.108 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.108 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.108 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.108 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.108 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.108 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.108 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.108 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [1 7/19 19:10:36.108 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: lite_fc_fuse_pass [1 7/19 19:10:36.108 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_shuffle_channel_fuse_pass [3 7/19 19:10:36.109 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.109 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36.109 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.109 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.109 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36.109 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [1 7/19 19:10:36.109 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: lite_shuffle_channel_fuse_pass [1 7/19 19:10:36.109 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_transpose_softmax_transpose_fuse_pass [3 7/19 19:10:36.109 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.109 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36.109 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.109 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.109 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36.109 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [1 7/19 19:10:36.109 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: lite_transpose_softmax_transpose_fuse_pass [1 7/19 19:10:36.109 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_interpolate_fuse_pass [3 7/19 19:10:36.110 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.110 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.110 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.110 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.110 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.110 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.110 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.110 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.110 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.111 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.111 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.111 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [1 7/19 19:10:36.111 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: lite_interpolate_fuse_pass [1 7/19 19:10:36.111 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: identity_scale_eliminate_pass [3 7/19 19:10:36.111 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.111 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.111 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 1 get records: 0 [3 7/19 19:10:36.111 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [1 7/19 19:10:36.111 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: identity_scale_eliminate_pass [1 7/19 19:10:36.111 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_scales_fuse_pass [3 7/19 19:10:36.111 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.111 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36.111 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [1 7/19 19:10:36.111 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: lite_scales_fuse_pass [1 7/19 19:10:36.111 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_sequence_reverse_embedding_fuse_pass [1 7/19 19:10:36.111 ...le-Lite/lite/core/optimizer/optimizer.cc:112 ApplyPasses] - Skip lite_sequence_reverse_embedding_fuse_pass because the target or kernel does not match. [1 7/19 19:10:36.111 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: elementwise_mul_constant_eliminate_pass [3 7/19 19:10:36.111 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.111 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 2 nodes marked [3 7/19 19:10:36.111 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 1 get records: 0 [3 7/19 19:10:36.111 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [1 7/19 19:10:36.111 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: elementwise_mul_constant_eliminate_pass [1 7/19 19:10:36.111 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_sequence_pool_concat_fuse_pass [1 7/19 19:10:36.111 ...le-Lite/lite/core/optimizer/optimizer.cc:112 ApplyPasses] - Skip lite_sequence_pool_concat_fuse_pass because the target or kernel does not match. [1 7/19 19:10:36.111 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_scale_activation_fuse_pass [3 7/19 19:10:36.112 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.112 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36.112 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.112 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.112 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36.112 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.112 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.112 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36.112 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [1 7/19 19:10:36.112 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: lite_scale_activation_fuse_pass [1 7/19 19:10:36.112 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_scaleacts_fuse_pass [1 7/19 19:10:36.112 ...le-Lite/lite/core/optimizer/optimizer.cc:112 ApplyPasses] - Skip lite_scaleacts_fuse_pass because the target or kernel does not match. [1 7/19 19:10:36.112 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_elementwise_scale_fuse_pass [1 7/19 19:10:36.112 ...le-Lite/lite/core/optimizer/optimizer.cc:112 ApplyPasses] - Skip lite_elementwise_scale_fuse_pass because the target or kernel does not match. [1 7/19 19:10:36.112 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_instance_norm_activation_fuse_pass [1 7/19 19:10:36.112 ...le-Lite/lite/core/optimizer/optimizer.cc:112 ApplyPasses] - Skip lite_instance_norm_activation_fuse_pass because the target or kernel does not match. [1 7/19 19:10:36.112 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_flatten_fc_fuse_pass [3 7/19 19:10:36.113 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.113 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36.113 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.113 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.113 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36.113 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [1 7/19 19:10:36.113 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: lite_flatten_fc_fuse_pass [1 7/19 19:10:36.113 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_fc_prelu_fuse_pass [1 7/19 19:10:36.113 ...le-Lite/lite/core/optimizer/optimizer.cc:112 ApplyPasses] - Skip lite_fc_prelu_fuse_pass because the target or kernel does not match. [1 7/19 19:10:36.113 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_elementwise_activation_fuse_pass [3 7/19 19:10:36.114 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.114 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36.114 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.114 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.114 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36.114 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.115 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.115 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36.115 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [1 7/19 19:10:36.115 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: lite_elementwise_activation_fuse_pass [1 7/19 19:10:36.115 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_conv_scale_fuse_pass [3 7/19 19:10:36.115 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.115 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 4 nodes marked [3 7/19 19:10:36.115 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 1 get records: 1 [3 7/19 19:10:36.115 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 2 get records: 1 [3 7/19 19:10:36.115 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 3 get records: 1 [3 7/19 19:10:36.115 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 4 get records: 0 [3 7/19 19:10:36.115 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [3 7/19 19:10:36.115 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.115 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 0 nodes marked [3 7/19 19:10:36.115 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [1 7/19 19:10:36.115 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: lite_conv_scale_fuse_pass [1 7/19 19:10:36.115 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_conv_elementwise_tree_fuse_pass [1 7/19 19:10:36.115 ...le-Lite/lite/core/optimizer/optimizer.cc:112 ApplyPasses] - Skip lite_conv_elementwise_tree_fuse_pass because the target or kernel does not match. [1 7/19 19:10:36.115 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: lite_greater_than_cast_fuse_pass [1 7/19 19:10:36.115 ...le-Lite/lite/core/optimizer/optimizer.cc:112 ApplyPasses] - Skip lite_greater_than_cast_fuse_pass because the target or kernel does not match. [1 7/19 19:10:36.115 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: fill_range_fuse_pass [1 7/19 19:10:36.115 ...le-Lite/lite/core/optimizer/optimizer.cc:112 ApplyPasses] - Skip fill_range_fuse_pass because the target or kernel does not match. [1 7/19 19:10:36.115 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: identity_dropout_eliminate_pass [3 7/19 19:10:36.115 ...te/core/optimizer/mir/pattern_matcher.cc:117 MarkPMNodesInGraph] mark pmnodes in graph [3 7/19 19:10:36.115 ...te/core/optimizer/mir/pattern_matcher.cc:133 MarkPMNodesInGraph] 1 nodes marked [3 7/19 19:10:36.116 ...te/core/optimizer/mir/pattern_matcher.cc:251 DetectPatterns] step 1 get records: 0 [3 7/19 19:10:36.116 ...ptimizer/mir/pattern_matcher_high_api.cc:52 DeleteInterNodes] clean nodes 0 [1 7/19 19:10:36.116 ...le-Lite/lite/core/optimizer/optimizer.cc:124 ApplyPasses] == Finished running: identity_dropout_eliminate_pass [1 7/19 19:10:36.116 ...le-Lite/lite/core/optimizer/optimizer.cc:104 ApplyPasses] == Running pass: sparse_conv_detect_pass Segmentation fault (core dumped)

hybry avatar Jul 19 '22 11:07 hybry

麻烦提供下原始的paddle 预测模型

hong19860320 avatar Jul 20 '22 01:07 hong19860320

class lite_test(nn.Layer): def init( self, in_channels: int, out_channels: int, dilation: int=1, stride: int=1, bias: bool=True, ): super(lite_test, self).init() self.conv = nn.Conv1D( in_channels, out_channels, kernel_size=1, padding=0, dilation=dilation, stride=stride, groups=1, bias_attr=bias, )

def forward(self, inputs: paddle.Tensor): outputs = self.conv(inputs) return outputs

上述是paddle模型,只是单纯的conv1d层;

对比正常日志和异常日志,目前发现在函数中: void SparseConvDetectPass::Apply(const std::unique_ptr<SSAGraph>& graph) if (!(use_int8 || use_fp32)) { VLOG(4) << "The sparse conv detect pass now only support fp32 and int8"; continue; } if (!(kw == 1 && kh == 1)) { VLOG(4) << "The kernel size of the supported sparse conv must be 1x1"; continue; } if (groups != 1) { VLOG(4) << "The groups of the supported sparse conv must be 1"; continue; } if (!(strides[0] == 1 && strides[1] == 1)) { VLOG(4) << "The strides of the supported sparse conv must be 1"; continue; } if (!(paddings[0] == 0 && paddings[1] == 0)) { VLOG(4) << "The paddings of the supported sparse conv must be 0"; continue; } if (!(ch_out > 0 && ch_in > 0)) { VLOG(4) << "The input and output channels must be larger than 0"; continue; }

正常转换的时候,在这个函数中触发条件,跳过了函数后续的操作; 异常转换的时候,因为kernel_size和groups都被设置为1,反而进行后续操作;

hybry avatar Jul 20 '22 02:07 hybry

class lite_test(nn.Layer): def init( self, in_channels: int, out_channels: int, dilation: int=1, stride: int=1, bias: bool=True, ): super(lite_test, self).init() self.conv = nn.Conv1D( in_channels, out_channels, kernel_size=1, padding=0, dilation=dilation, stride=stride, groups=1, bias_attr=bias, )

def forward(self, inputs: paddle.Tensor): outputs = self.conv(inputs) return outputs

上述是paddle模型,只是单纯的conv1d层;

对比正常日志和异常日志,目前发现在函数中: void SparseConvDetectPass::Apply(const std::unique_ptr& graph) if (!(use_int8 || use_fp32)) { VLOG(4) << "The sparse conv detect pass now only support fp32 and int8"; continue; } if (!(kw == 1 && kh == 1)) { VLOG(4) << "The kernel size of the supported sparse conv must be 1x1"; continue; } if (groups != 1) { VLOG(4) << "The groups of the supported sparse conv must be 1"; continue; } if (!(strides[0] == 1 && strides[1] == 1)) { VLOG(4) << "The strides of the supported sparse conv must be 1"; continue; } if (!(paddings[0] == 0 && paddings[1] == 0)) { VLOG(4) << "The paddings of the supported sparse conv must be 0"; continue; } if (!(ch_out > 0 && ch_in > 0)) { VLOG(4) << "The input and output channels must be larger than 0"; continue; }

正常转换的时候,在这个函数中触发条件,跳过了函数后续的操作; 异常转换的时候,因为kernel_size和groups都被设置为1,反而进行后续操作;

你把这个模型导出来,然后上传上来

hong19860320 avatar Jul 20 '22 06:07 hong19860320

class DSDilatedConv1d(nn.Layer): def init( self, in_channels: int, out_channels: int, kernel_size: int, dilation: int=1, stride: int=1, bias: bool=True, ): super(DSDilatedConv1d, self).init() self.receptive_fields = dilation * (kernel_size - 1) self.conv = nn.Conv1D( in_channels, in_channels, kernel_size, padding=0, dilation=dilation, stride=stride, groups=in_channels, bias_attr=bias, ) self.bn = nn.BatchNorm1D(in_channels) self.pointwise = nn.Conv1D( in_channels, out_channels, kernel_size=1, padding=0, dilation=1, bias_attr=bias)

def forward(self, inputs: paddle.Tensor):
    outputs = self.conv(inputs)
    outputs = self.bn(outputs)
    outputs = self.pointwise(outputs)
    return outputs

class TCNBlock(nn.Layer): def init( self, in_channels: int, res_channels: int, kernel_size: int, dilation: int, causal: bool, ): super(TCNBlock, self).init() self.in_channels = in_channels self.res_channels = res_channels self.kernel_size = kernel_size self.dilation = dilation self.causal = causal self.receptive_fields = dilation * (kernel_size - 1) self.half_receptive_fields = self.receptive_fields // 2 self.conv1 = DSDilatedConv1d( in_channels=in_channels, out_channels=res_channels, kernel_size=kernel_size, dilation=dilation, ) self.bn1 = nn.BatchNorm1D(res_channels) self.relu1 = nn.ReLU()

    self.conv2 = nn.Conv1D(
        in_channels=res_channels, out_channels=res_channels, kernel_size=1)
    self.bn2 = nn.BatchNorm1D(res_channels)
    self.relu2 = nn.ReLU()

def forward(self, inputs: paddle.Tensor):
    outputs = self.relu1(self.bn1(self.conv1(inputs)))
    outputs = self.bn2(self.conv2(outputs))
    if self.causal:
        inputs = inputs[:, :, self.receptive_fields:]
    else:
        inputs = inputs[:, :, self.half_receptive_fields:
                        -self.half_receptive_fields]
    if self.in_channels == self.res_channels:
        res_out = self.relu2(outputs + inputs)
    else:
        res_out = self.relu2(outputs)
    return res_out

class TCNStack(nn.Layer): def init( self, in_channels: int, stack_num: int, stack_size: int, res_channels: int, kernel_size: int, causal: bool, ): super(TCNStack, self).init() self.in_channels = in_channels self.stack_num = stack_num self.stack_size = stack_size self.res_channels = res_channels self.kernel_size = kernel_size self.causal = causal self.res_blocks = self.stack_tcn_blocks() self.receptive_fields = self.calculate_receptive_fields() self.res_blocks = nn.Sequential(*self.res_blocks)

def calculate_receptive_fields(self):
    receptive_fields = 0
    for block in self.res_blocks:
        receptive_fields += block.receptive_fields
    return receptive_fields

def build_dilations(self):
    dilations = []
    for s in range(0, self.stack_size):
        for l in range(0, self.stack_num):
            dilations.append(2**l)
    return dilations

def stack_tcn_blocks(self):
    dilations = self.build_dilations()
    res_blocks = nn.LayerList()

    res_blocks.append(
        TCNBlock(
            self.in_channels,
            self.res_channels,
            self.kernel_size,
            dilations[0],
            self.causal, ))
    for dilation in dilations[1:]:
        res_blocks.append(
            TCNBlock(
                self.res_channels,
                self.res_channels,
                self.kernel_size,
                dilation,
                self.causal, ))
    return res_blocks

def forward(self, inputs: paddle.Tensor):
    outputs = self.res_blocks(inputs)
    return outputs

class MDTC(nn.Layer): def init( self, stack_num: int, stack_size: int, in_channels: int, res_channels: int, kernel_size: int, causal: bool=True, ): super(MDTC, self).init() assert kernel_size % 2 == 1 self.kernel_size = kernel_size self.causal = causal self.preprocessor = TCNBlock( in_channels, res_channels, kernel_size, dilation=1, causal=causal) self.relu = nn.ReLU() self.blocks = nn.LayerList() self.receptive_fields = self.preprocessor.receptive_fields for i in range(stack_num): self.blocks.append( TCNStack(res_channels, stack_size, 1, res_channels, kernel_size, causal)) self.receptive_fields += self.blocks[-1].receptive_fields self.half_receptive_fields = self.receptive_fields // 2 self.hidden_dim = res_channels

def forward(self, x: paddle.Tensor):
    # if self.causal:
    #     outputs = F.pad(x, (0, 0, self.receptive_fields, 0, 0, 0),
    #                     'constant')
    # else:
    #     outputs = F.pad(
    #         x,
    #         (0, 0, self.half_receptive_fields, self.half_receptive_fields,
    #          0, 0),
    #         'constant', )
    outputs = x.transpose([0, 2, 1])
    outputs_list = []
    outputs = self.relu(self.preprocessor(outputs))
    for block in self.blocks:
        outputs = block(outputs)
        outputs_list.append(outputs)

    normalized_outputs = []
    output_size = outputs_list[-1].shape[-1]
    for x in outputs_list:
        remove_length = x.shape[-1] - output_size
        if self.causal and remove_length > 0:
            normalized_outputs.append(x[:, :, remove_length:])
        elif not self.causal and remove_length > 1:
            half_remove_length = remove_length // 2
            normalized_outputs.append(
                x[:, :, half_remove_length:-half_remove_length])
        else:
            normalized_outputs.append(x)

    outputs = paddle.zeros_like(
        outputs_list[-1], dtype=outputs_list[-1].dtype)
    for x in normalized_outputs:
        outputs += x
    outputs = outputs.transpose([0, 2, 1])
    return outputs

class KWSModel(nn.Layer): def init(self): super(KWSModel, self).init() self.backbone = MDTC(stack_num=kws_config['stack_num'], stack_size=kws_config['stack_size'], in_channels=kws_config['in_channels'], res_channels=kws_config['res_channels'], kernel_size=kws_config['kernel_size']) self.linear = nn.Linear(self.backbone.hidden_dim, kws_config['num_keywords']) self.activation = nn.Sigmoid()

def forward(self, x):
    outputs = self.backbone(x)
    outputs = self.linear(outputs)
    return self.activation(outputs)

def dynamic2static(): model = KWSModel() model.set_state_dict(paddle.load("checkpoint/speech/model.pdparams")) model = to_static(model, input_spec=[InputSpec(shape=[None, None, 80])]) paddle.jit.save(model, "checkpoint/speech/kws")

if name == 'main': dynamic2static()

paddlespeech的kws模型,附件为生成的静态模型

kws.zip

hybry avatar Jul 20 '22 09:07 hybry

已复现该问题,目前 lite pass 不兼容 conv2d 算子 kernel size 为 [1,5] 的情况,日志如下 log.txt

麻烦 @xingjing1 帮忙确认下 ARM CPU 对 conv2d 1维情况的支持程度哈~ image

hong19860320 avatar Jul 25 '22 03:07 hong19860320

目前从我这边的日志来看,在执行sparse_conv_detect_pass.cc文件中的ComputeSparseZero函数时,weight->data<T>()返回一个空指针,导致操作到空指针出现问题;

疑问: 1、在模型转换阶段,是否有涉及到操作内存的测试,而且tensor的参数存在不确定性? 2、从代码的梳理来看,我暂时没有找到内存分配的地方,进行pass前,内存在哪里分配?

hybry avatar Jul 25 '22 08:07 hybry

目前从我这边的日志来看,在执行sparse_conv_detect_pass.cc文件中的ComputeSparseZero函数时,weight->data()返回一个空指针,导致操作到空指针出现问题;

疑问: 1、在模型转换阶段,是否有涉及到操作内存的测试,而且tensor的参数存在不确定性? 2、从代码的梳理来看,我暂时没有找到内存分配的地方,进行pass前,内存在哪里分配?

收到,开发人员正在跟进哈

xingjing1 avatar Jul 26 '22 02:07 xingjing1

这是我的issue https://github.com/PaddlePaddle/Paddle-Lite/issues/9262 目前系统显示没有分配受让人 烦请大佬们关注照顾一下呢

hasaikeyQAQ avatar Jul 28 '22 03:07 hasaikeyQAQ

所以到目前为止都没有什么进展吗?再不行我就要转战Pytorch了

MarginGitHub avatar Sep 16 '22 10:09 MarginGitHub