重新训练开始并指定label_count = 2但接收三个分数而不是两个分数

时间:2017-01-16 23:35:48

标签: google-cloud-ml

我已将flower retraining code修改为label_count = 2,如下所示:

gcloud beta ml jobs submit training "$JOB_ID" \ --module-name trainer.task \ --package-path trainer \ --staging-bucket "$BUCKET" \ --region us-central1 \ -- \ --output_path "${GCS_PATH}/training" \ --eval_data_paths "${GCS_PATH}/preproc/eval*" \ --train_data_paths "${GCS_PATH}/preproc/train*" \ --label_count 2 \ --max_steps 4000

我修改了dict.txt只有两个标签。

但重新训练的模型按预期输出三个分数而不是两个分数。意外的第三个得分总是非常小,如下例所示:

关键预测评分

Key123 0 [0.7956143617630005,0.2043769806623459,8.625334885437042e-06]

为什么有三个分数,是否可以进行更改,因此模型仅输出两个分数?

注意:我已经阅读了Slaven Bilac和JoshGC对问题“cloudml retraining inception - received a label value outside the valid range”的回答,但这些答案并未解决我上面的问题。

1 个答案:

答案 0 :(得分:0)

它是"标签"我们适用于训练集中没有标签的图像。此行为将在model.py第221行的评论中讨论

    # Some images may have no labels. For those, we assume a default
    # label. So the number of labels is label_count+1 for the default
    # label.

我同意这不是一个非常直观的行为,但它使代码对于没有清理过的数据集更加强大!希望这可以帮助。