MobileNet:验证准确度高,预测结果差

时间:2021-07-17 18:51:17

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

我正在使用 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 相关的具体问题。

1 个答案:

答案 0 :(得分:0)

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