【问题标题】:How to retrain an Image Classifier with new classes and keep old classes如何用新类重新训练图像分类器并保留旧类
【发布时间】:2020-09-01 01:03:37
【问题描述】:

我正在尝试制作一个图像分类器,可以识别图像是西瓜图像的可能性有多大。为此,我按照此处的花卉分类器示例:https://www.tensorflow.org/hub/tutorials/image_retrainin 并使用此命令训练模型

python retrain.py --image_dir ~/flower_photos

我在尝试这个分类器时发现的问题是它只在新类中进行分类,在这种情况下是花类。因此,当我尝试对狗的图像(我知道它存在于 Inception 模块中)进行分类时,它会将其分类为玫瑰

python label_image.py \
--graph=/tmp/output_graph.pb --labels=/tmp/output_labels.txt \
--input_layer=Placeholder \
--output_layer=final_result \
--image=/images/dog.jpg

结果

roses 0.7626607
tulips 0.12247563
dandelion 0.071335025
sunflowers 0.028395686
daisy 0.0151329385

如何使用 TensorFlow 来扩展模型并添加一个额外的类,而不是创建一个仅包含新类的新模型?

【问题讨论】:

    标签: image tensorflow machine-learning


    【解决方案1】:

    您可以做的是将两个数据集合并在一起进行训练,或者将您正在重新训练的模型类保留在可能的类中,并将这些类的一些图像添加到数据集中,以便模型不会忘记它的内容已经学会了。

    【讨论】:

    • 我不明白该怎么做。如何加入数据集?或者我如何将我正在重新训练的初始模型的课程留在可能的课程中? :)
    猜你喜欢
    • 2019-02-02
    • 1970-01-01
    • 1970-01-01
    • 2016-07-28
    • 2017-06-08
    • 2018-10-26
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    相关资源
    最近更新 更多