我使用这个网站作为指南 - https://towardsdatascience.com/train-image-recognition-ai-with-5-lines-of-code-8ed0bdd8d9ba
培训代码:
from imageai.Classification.Custom import ClassificationModelTrainer
model_trainer = ClassificationModelTrainer()
model_trainer.setModelTypeAsResNet50()
model_trainer.setDataDirectory("dataset")
model_trainer.trainModel(num_objects=3, num_experiments=10, enhance_data=True, batch_size=8, show_network_summary=True)
分类代码:
from imageai.Classification.Custom import CustomImageClassification
import os
execution_path = os.getcwd()
prediction = CustomImageClassification()
prediction.setModelTypeAsResNet50()
prediction.setModelPath("model_ex-010_acc-0.948454.h5")
prediction.setJsonPath("model_class.json")
prediction.loadModel(num_objects=3)
predictions, probabilities = prediction.predictImage("lettuce.jpg", result_count=3)
for eachPrediction, eachProbability in zip(predictions, probabilities):
print(eachPrediction , " : " , eachProbability)
该模型已以 94% 的准确率进行训练,但无论图像如何,该模型都以 100% 的概率对所有内容进行分类。我已按照网站上的指南进行操作,但似乎无法使其正常工作。
我的数据集包含 3 个类,每个类 100 个训练图像和每个类 25 个测试图像,我还使用更大的数据集进行了测试,仍然得到相同的结果。