我有一个用 Tensorflow.Keras 编写的自定义神经网络,并应用 hard-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.

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

#1楼 票数:7 已采纳

由于它是一个常数除法,您可以乘以(近似值)倒数:

def swish(x):
    return x * tf.nn.relu6(x+3) * 0.16666667

  ask by anki translate from so

未解决问题?本站智能推荐:

1回复

Coral Edge TPU Compiler 无法转换 tflite 模型:模型未量化

我正在尝试使用 TensorFlow lite 部署一个简单的测试应用程序。 我想在我的设备上使用 Coral Edge TPU Stick,所以我必须执行量化感知训练。 我想拟合一个函数f(x) = 2 x - 1 。 我的训练代码如下所示: 作为输出,我得到(省略了 keras 和 CUDA
1回复

将 keras 模型转换为量化的 tflite 丢失精度

我正在尝试将我的 keras 模型转换为 tflite 量化模型,以便我可以在珊瑚 TPU 上运行我的模型,但是我的 keras 模型和 tflite 模型的输出明显不同。 红点是量化的 tflite 模型输出,蓝点是原始 keras 模型输出。 这是我将 keras 模型转换为量化 tfl
2回复

减少TFLite模型的尺寸?

我正在按照本指南(它使用初始作为基本模型)制作多标签图像分类模型: https : //towardsdatascience.com/multi-label-image-classification-with-inception-net-cbb2ee538e30 从.pb转换为.tflit
1回复

减小 .tflite 模型大小

我看到的任何动物园 .tflite 模型的大小都不超过 3MB。 在 edgetpu 上,它们运行良好。 但是,当我训练自己的对象检测模型时,.pb 文件是 60MB,而 .tflite 也很大,有 20MB! 它也被量化如下。 最终结果是在 edgetpu object_detection 模型上
1回复

有没有其他转换到tflite的方法?

我遵循了这个程序: https://kharbari.com/how-to-convert-pb-to-tflite-format/ 但我面临这个错误: “名称‘prefix/MultipleGridAnchorGenerator/assert_equal_1/Assert/Assert:
1回复

detect.tflite 将 TF 模型转换为 TFlite 失败

我正在使用我的 Mac,运行 Catalina 10.15.5,使用 Python 2.7.17,从源代码运行 Tensorflow 1.15.3,使用 pip 安装,而不是在 Anaconda 中,我的 bazel 版本是 0.26.1。 我正在尝试按照本教程将 ssd_mobilenet_v3
1回复

如何解释 TFLite 输出张量

我正在 python 上执行 TFLite 模型,以便根据输入数据进行预测。 该模型已经在 AutoML-Google-API 上进行了训练,然后我下载了它的 TFLite 模型。 我使用 tf.lite.Interpreter 加载模型并运行推理如下 结果如下: output_data有
1回复

如何将 .model 转换为 .tflite?

我目前正在从事口罩检测项目。 我不太了解机器学习,但这是我的问题陈述。 我必须在 Raspberry Pi 上运行我的项目,所以我决定将我的模型转换为 tflite 以提高 FPS。 我在这一行'model.save("mask_detector.model", save_format="h5")'