【问题标题】:MobileNet: High Accuracy On Validation and Poor Prediction ResultsMobileNet:验证精度高,预测结果差
【发布时间】:2021-09-26 02:37:20
【问题描述】:

我正在使用 TensorFlow 训练 MobileNet_v1_1.0_224。我正在使用TensorFlow-Slim image classification model library 中的python 脚本进行培训。我的 4 类数据集分布如下:

normal_faces:42070
oncall_faces:13563(人们在通话时在图像中使用手机)
吸烟脸:5949
打哈欠脸:1630

数据集中的所有图像都是方形图像,并且大于 224x224

我正在使用train_image_classifier.py 使用以下参数训练模型,

python train_image_classifier.py \
    --train_dir=${TRAIN_DIR} \
    --dataset_name=custom \
    --dataset_split_name=train \
    --dataset_dir=${DATASET_DIR} \
    --model_name=mobilenet_v1 \
    --batch_size=32\
    --max_number_of_steps=25000

训练模型后,eval_image_classifier.py 在验证集上显示出大于 95% 的准确度,但是当我导出冻结图并将其用于预测时,它的表现非常糟糕。

我也试过这个notebook,但这也产生了类似的结果。

日志:Training Log
绘图:LossAccuracy

这是什么原因?我该如何解决这个问题?

我在 SO 上看到过类似的问题,但没有特别与 MobileNets 相关。

【问题讨论】:

  • 预测结果如何?
  • @NONONONONO 我已导出冻结的图形并加载它。
  • 您确定您的真实世界数据已正确预处理吗?我认为 MobileNet 要求您从数据中减去 ImageNet 平均值。
  • 你能给出 Val 和训练集每个 epoch 的准确率图吗?另外,你能提供你的示例数据和预处理代码吗?

标签: tensorflow image-classification mobilenet tensorflow-model-garden


【解决方案1】:

您是否使用了验证集?如果是这样,验证准确性是多少? 如果您使用了验证集,一个检查您是否正确进行预测的好方法是在验证集上运行 model.predict。

【讨论】:

  • 我已经更新了这个问题。验证分为 10% 的数据集。我在问题中提到的准确性是验证准确性。
猜你喜欢
  • 2020-07-08
  • 2019-08-02
  • 2018-07-01
  • 1970-01-01
  • 2021-07-12
  • 1970-01-01
  • 2015-11-26
  • 2017-09-05
  • 2021-10-16
相关资源
最近更新 更多