我正在尝试使用量化的 Mobilenetv2 模型在硬件中实现图像分类here https://www.tensorflow.org/lite/guide/hosted_models。为此,我首先需要从头到尾重现推理过程,以确保我理解对数据执行的计算/操作。
第一个目标是转换函数 https://github.com/tensorflow/tensorflow/blob/4952f981be07b8bf508f8226f83c10cdafa3f0c4/tensorflow/contrib/lite/kernels/internal/reference/reference_ops.h#L248。我可以看到它是如何计算的,但是有几个参数传递给这个函数,我想知道它们是如何产生的:output_offset, output_multiplier,output_shift, output_activation_min, output_activation_max
。我找不到之前调用的函数Conv()具有这些参数的函数。希望这能让我了解这些论点是如何产生的。有人能指出我源代码的正确行吗?
源代码中的另一个差距是解释器.invoke() https://github.com/tensorflow/tensorflow/blob/1cf0898dd4331baf93fe77205550f2c2e6c90ee5/tensorflow/lite/python/interpreter.py#L440-L453功能。我希望跟踪并看看接下来会发生什么,但找不到实现的源代码invoke()功能。非常感谢您的帮助!
如果您想了解如何使用 conv 参考代码,您可以阅读以下代码转换算子 https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/kernels/conv.cc.
python解释器使用swig https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/python/interpreter_wrapper/interpreter_wrapper.i打电话给C++解释器 https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/python/interpreter_wrapper/interpreter_wrapper.cc.
希望这可以帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)