首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TFLite的艰难选择

TFLite的艰难选择
EN

Stack Overflow用户
提问于 2020-02-21 10:21:59
回答 1查看 2.8K关注 0票数 5

我有一个用Tensorflow.Keras编写的自定义神经网络,并将硬开关函数作为激活应用(如MobileNetV3论文中所用):

执行情况:

代码语言:javascript
复制
def swish(x):
    return x * tf.nn.relu6(x+3) / 6

我正在运行量化感知训练,并在最后编写一个原型文件。然后,我使用此代码将其转换为tflite (并最终将其部署到EdgeTPU上):

代码语言:javascript
复制
tflite_convert --output_file test.tflite --graph_def_file=test.pb --inference_type=QUANTIZED_UINT8 --input_arrays=input_1 --output_arrays=conv2d_3/Sigmoid --mean_values=0 --std_dev_values=255 --default_ranges_min=0 --default_ranges_max=6

当我没有除以6的时候,当除以6时,我得到了这个错误:

代码语言:javascript
复制
Unimplemented: this graph contains an operator of type Div for which the quantized form is not yet implemented.

我正在使用TF 1.14训练和TF 1.15昨晚的构建转换为TFLITE;我正在努力使TF 2.x工作一些奇怪的HDF5不兼容,但如果有人知道如何绕过这个问题。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-21 10:30:25

由于它是一个常量除法,所以您只需乘以(接近于)逆:

代码语言:javascript
复制
def swish(x):
    return x * tf.nn.relu6(x+3) * 0.16666667
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60336568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档