如何使用新类别重新训练图像分类器并保留旧类别

时间:2018-11-07 12:15:52

标签: image tensorflow machine-learning

我正在尝试创建一个图像分类器,以识别图像是西瓜图像的可能性。为此,我在这里使用了花卉分类器示例: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扩展具有附加类的模型,而不是仅使用新类创建新模型?

1 个答案:

答案 0 :(得分:0)

您可以做的是将两个数据集结合在一起并一起训练,或者只是将要重新训练的模型类别留在可能的类别中,然后将这些类别的一些图像添加到数据集中,以使模型不会忘记它已经学会了。