正如您在TensorFlow中实现的量化MobileNet模型的屏幕截图中所看到的,仍然存在一些浮点运算。量化是通过graph_transform工具在TensorFlow中完成的。
图像中的红色椭圆在右侧大小的文本框中有其描述。 “depthwise”是一个“DepthwiseConv2dNative”操作,需要“DT_FLOAT”输入。
尽管较低的Relu6执行8位量化操作,但结果必须经过“(Relu6)”,这是“去量化”操作,以便为深度卷积产生“DT_FLOAT”输入。
为什么TF graph_transform工具遗漏了depthwise conv操作?谢谢。
答案 0 :(得分:0)
不幸的是,标准TensorFlow中没有depthwise conv的量化版本,所以它会回退到浮点实现之前和之后的转换。对于MobileNet的完整8位实现,您需要查看TensorFlow Lite,您可以在此处了解更多信息: