微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 imageai 中,您如何解释保存模型的名称,例如“model_ex-077_acc-0.941176.h5”?

如何解决在 imageai 中,您如何解释保存模型的名称,例如“model_ex-077_acc-0.941176.h5”?

我已经在 imageai 自定义预测上实现了 readthedocs 中的标准代码,使用我自己的两个类的图像 - 训练中大约 700 张图像和测试中的 150 张图像,并获得了一个名为“model_ex-077_acc- 0.941176.h5"。

这是否意味着我的模型在测试数据上的准确率为 94.1%?

我之所以这么问是因为当我再次使用标准代码尝试预测我的训练(或测试)数据时,模型总是以 100% 的概率预测一个类别,我不知道为什么我的模型是94.1% 准确。

我实现的标准代码(在具有 tensorflow==2.4.0 和 imageai==2.1.6 以及所有依赖项的虚拟环境中)进行训练是:

from imageai.Classification.Custom import ClassificationModelTrainer
import os


dir_path = os.path.dirname(os.path.realpath(__file__))


model_trainer = ClassificationModelTrainer()
model_trainer.setModelTypeAsInceptionV3()
model_trainer.setDataDirectory(dir_path+"/idenprof")
model_trainer.trainModel(num_objects=2,num_experiments=100,enhance_data=True,batch_size=32,show_network_summary=True)

并预测

from imageai.Classification.Custom import CustomImageClassification
import os
dir_path = os.path.dirname(os.path.realpath(__file__))
imageList = os.listdir(dir_path+"/idenprof/test/circle/")

prediction = CustomImageClassification()
prediction.setModelTypeAsresnet50()
prediction.setModelPath("model_ex-077_acc-0.941176.h5")
prediction.setJsonPath("model_class.json")
prediction.loadModel(num_objects=2)

for i in imageList:
    predictions,probabilities = prediction.classifyImage("idenprof/test/circle/"+i)

    for eachPrediction,eachProbability in zip(predictions,probabilities):
        print(eachPrediction," : ",eachProbability)

我的两个类是“brick”和“circle”,输出总是“brick”,概率为 100%。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。