DNN模型中的值在使用后并不是都是量子化的tf.lite.优化.违约

2024-06-07 00:35:39 发布

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

我正在尝试将DNN模型的.pb格式更改为.tflite,并且我还想量化所有的权重和偏差。当使用下面的代码时,权重被量化为8位,但是偏差仍然是浮动的。你知道吗

我已经用过tf的最新版本了。代码是:

import tensorflow as tf

graph_def_file = "DNN_S.pb"

converter=tf.lite.TFLiteConverter.from_frozen_graph(graph_def_file,input_arrays,output_arrays,input_shapes)

converter.target_spec.supported_ops=[tf.lite.OpsSet.TFLITE_BUILTINS,tf.lite.OpsSet.SELECT_TF_OPS]

converter.optimizations = [tf.lite.Optimize.DEFAULT]

tflite_model = converter.convert()

open("model.tflite", "wb").write(tflite_model)

如何将偏差的格式也更改为8位整数?你知道吗


Tags: 代码inputmodeltfdef格式liteconverter
1条回答
网友
1楼 · 发布于 2024-06-07 00:35:39

在TensorFlow Lite中进行训练后量化时,实际上并不是将整个模型转换为8位。你知道吗

相反,转换器正在创建一个混合模型,其中权重被量化,但模型的其余部分保留在浮点中。这项技术已经证明,在减少量化精度下降的同时,可以提供大的模型压缩优势。你知道吗

要创建一个真正的量化模型,你必须考虑量化感知训练。你知道吗

相关问题 更多 >