
[英](-2:Unspecified error) Can't create layer "FeatureExtractor/MobilenetV3/Conv/hard_swish/add" of type "AddV2" in function 'getLayerInstance'
[英]Hard-swish for TFLite
我有一个用 Tensorflow.Keras 编写的自定义神经网络,并应用 hard-swish 函数作为激活(如 MobileNetV3 论文中使用的那样):
执行:
def swish(x):
return x * tf.nn.relu6(x+3) / 6
我正在运行量化感知训练并在最后编写一个 protobuf 文件。 然后,我使用此代码转换为 tflite(并最终将其部署在 EdgeTPU 上):
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 时出现此错误:
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 不兼容问题,但如果有人知道如何规避这个问题,那就太好了……谢谢!
由于它是一个常数除法,您可以乘以(近似值)倒数:
def swish(x):
return x * tf.nn.relu6(x+3) * 0.16666667
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.