TFLite硬开关

2024-05-14 01:14:46 发布

您现在位置:Python中文网/ 问答频道 /正文

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

$$h-swish = x \cdot \frac{ReLU6(x+3)}{6}$$).

实施:

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.

我正在使用TF1.14进行训练,昨晚使用TF1.15构建转换为TFLITE;我正在努力让TF2.x解决一些奇怪的HDF5不兼容问题,但如果有人知道如何规避这个问题,那就太好了。。。谢谢


Tags: testdefaultinputoutputtensorflowdeftypekeras