专栏算法工具链静态、动态性能测试 error

静态、动态性能测试 error

解答中
qwertyx2024-07-09
37
6

性能测试 error & batchnormalization层调整到 BPU运行

1. J5

2. 天工开物开发包 OpenExplorer 版本:J5_OE_1.1.74

3. 板端部署

4. 问题具体描述:搭建了一个 conv+bn 模型,model.training=True,用torch.onnx.export(...) 转 onnx(给定这个参数 torch.onnx.export(training=torch._C.ONNX.TrainingMode=PRESERVE),这个参数下onnx导出模式有两种,如果model.training=True,则以训练模式导出,否则,以推理模式导出)。基于此onnx模型,进行模型验证、模型转换,均执行成功,但BN层无法指定在BPU运行,设置 node_info 无效,且 hb_mapper markertbin 转换的 bin 模型无法通过静态、动态性能测试。

5. torch导出的onnx模型见图1;模型验证、模型转化结果显示 BN 层在 CPU 运行,结果见图2、图3;quantized_onnx 模型见图4;静态、动态性能测试均不成功,报错结果见图5、图6;

附件:
算法工具链
征程5
评论2
0/1000
  • kotei左文亮
    Lv.3

    BN层后面没有加一个激活函数吗?

    2024-07-09
    0
    4
    • qwertyx回复kotei左文亮:

      加过 relu 激活函数,BN 仍在 cpu.

      2024-07-09
      0
    • kotei左文亮回复qwertyx:

      你这个网络就这么两三层是吧? 是做什么测试吗

      2024-07-10
      0
    • qwertyx回复kotei左文亮:

      是的,只是简单的两层网络,想对比 BN 融合前后性能差异,但出现问题无法解决,(1)BN 怎么在 BPU 执行,(2)转化生成的 bin 模型报错怎么解决。

      2024-07-10
      0
    • kotei左文亮回复qwertyx:

      两层的网络本身很少见,会不会是因为本身执行的时间就很少。推荐使用样例里的网络结构。通常情况下BN层前面的卷积层都是在BPU上执行的,BN层也支持在BPU里执行。

      2024-07-11
      0
  • kotei左文亮
    Lv.3

    鉴于您长时间未回复,此问题就先关闭了,如还有疑问可再发帖。

    2024-07-16
    0
    0