【量化】可视化工具和排查思路

2021-12-09  本文已影响0人  云彩修建站站长
import os

import ufw.tools.analysis.analysis as analysis


dir_path = '/workspace/models/rvm/output/ufw_rvm_b1_t8_sm'
test_args = ['-fm',
            os.path.join(dir_path, 'rvm_b1_t8_sm.script_bmnetp_test_fp32_unique_top.prototxt'),
            '-fw',
            os.path.join(dir_path, 'rvm_b1_t8_sm.script_bmnetp.fp32umodel'),
            '-im',
            os.path.join(dir_path, 'rvm_b1_t8_sm.script_bmnetp_test_int8_unique_top.prototxt'),
            '-iw',
            os.path.join(dir_path, 'rvm_b1_t8_sm.script_bmnetp.int8umodel'),
            '-show_difference', '1',
            ]
test_n = analysis.calibration_visual(test_args)
test_n.run()
test_n.show_widgets()

使用上述代码,可以查看fp32 和 int8相同层的精度差,我把最后30层设置成了fp32的,但是实际上来看,最后30层效果还是不好,这是什么原因呢?????

image.png

原来他妈的,网络并不是串行的,是一个图,所以在前面的层,后面的节点并不一定多。我设置了某个节点向后的层,其实还可能会有其他的层通路。

真是没有想到。

image.png

直接用prototxt 就可以看图的结构,真方便。
https://netron.app/

上一篇 下一篇

猜你喜欢

热点阅读