当前位置: 首页 > 知识库问答 >
问题:

使用变换图量化后,Tensorflow SSD Mobilenet模型精度下降

党浩阔
2023-03-14

我正在研究谷歌最近发布的“SSD-Mobilenet”模型,用于目标检测。模型从以下位置下载:https://github.com/tensorflow/models/blob/master/object_detection/g3doc/detection_model_zoo.md

从网站下载的冻结图形文件按预期工作,但量化后精度显著下降(主要是随机预测)。

我建立了tensorflow r1。2来源,并使用以下方法进行量化:

bazel bin/tensorflow/tools/graph_transforms/transform_graph--in_graph=冻结的推理图。pb——out_图=优化的_图。pb--输入='image\u tensor'--输出='detection\u box'、'detection\u scores'、'detection\u classes'、'num\u detections'--转换='add\u default\u attributes strip\u unused\u nodes(type=float,shape=“1224224,3”)fold\u常量(忽略错误=true)fold\u batch\u norms fold\u batch\u norms量化权重strip\u unused\u unused\u nodes\u未使用的节点按执行顺序排序'

我在“变换”部分尝试了各种组合,上面提到的变换有时给出了正确的预测,但是没有接近原始模型的地方。

有没有其他方法可以提高量化模型的性能?

共有1个答案

夹谷岳
2023-03-14

在这种情况下,SSD使用mobilenet作为其功能提取器。为了提高速度。如果你读过mobilenet的文章,它是一个轻量级的卷积神经网络,专门使用可分离卷积来减少参数

据我所知,可分离卷积会因为信道卷积而丢失信息。

因此,当根据TF实现对图形进行量化时,它会进行16位运算,并将权重设置为8位。如果你阅读了TF中的量化教程,他们清楚地提到,这个操作更像是在已经训练好的网络中添加一些噪声,希望我们的模型得到很好的推广。

因此,对于像inception、resnet等重型模型来说,这将非常有效,几乎是无损失的精度。但是,使用mobilenet的ssd的轻巧和简单性确实会造成精度损失。

MobileNets:用于移动视觉应用的高效卷积神经网络

如何用TensorFlow量化神经网络

 类似资料:
  • 我正在开发一个端到端训练和量化感知的训练示例。使用CIFAR10数据集,我加载了一个预训练的MobilenetV2模型,然后使用TensorFlow指南中的代码来量化我的模型。整个过程适当结束后,我得到以下结果: 注意,我并没有更改我从TensorFlow指南中附带的代码,我只是使用了一个不同的数据集和模型。

  • 在机器学习的算法评估中,尤其是分类算法评估中,我们经常听到精确率(precision)与召回率(recall),RoC曲线与PR曲线这些概念,那这些概念到底有什么用处呢? 首先,我们需要搞清楚几个拗口的概念: 1. TP, FP, TN, FN   True Positives,TP:预测为正样本,实际也为正样本的特征数   False Positives,FP:预测为正样本,实际为负样本的特征数

  • 我试图按照张量流量化中的说明来生成一个量化的张量流精简版模型。 首先,我使用tf。contrib。量化。创建_training_graph()和tf。contrib。量化。在我的训练过程中创建_eval_graph(),将伪量化节点插入到图形中,并最终生成一个冻结的pb文件(model.pb)。 其次,我使用以下命令将我的伪量化tensorflow模型转换为量化tensorflow lite模型。

  • 这里是一个初学者,你会看到:)我试图将我的keras (.h5)训练模型转换为TensorFlow Lite格式,但我有以下错误; 属性错误: 类型对象 “TFLite转换器” 没有属性 “from_keras_model”

  • 我已经使用Keras来微调MobileNet v1。现在我有,我需要将其转换为TensorFlow Lite,以便在Android应用程序中使用。 我使用TFLite转换脚本。我可以在没有量化的情况下进行转换,但我需要更高的性能,所以我需要进行量化。 如果我运行此脚本: 它失败了: F tensorflow/contrib/lite/toco/tooling\u util。cc:1634]Arra

  • 我很难用Keras微调Inception模型。 我已经成功地使用教程和文档生成了一个完全连接的顶层模型,该模型从一开始就使用瓶颈特性将我的数据集分类为适当的类别,准确率超过99%。 纪元50/50 1424/1424 [==============================] - 17s 12ms/步长-损耗:0.0398-acc:0.9909 我还能够将此模型堆叠在《盗梦空间》的顶部,以创