免责声明:第一次尝试机器学习! 我们需要从背景中自动分割图像中的对象。通过互联网,我们发现“深度实验室”将解决我们的目的。我们从他们的官方站点下载了deeplab,并按照他们提到的所有说明进行操作。我们使用以下命令训练了pascal_voc_2012数据集
python deeplab / train.py \ --logtostderr \ --training_number_of_steps = 30000 \ --train_split =“火车” \ --model_variant =“ xception_65” \ --atrous_rates = 6 \ --atrous_rates = 12 \ --atrous_rates = 18 \ --output_stride = 16 \ --decoder_output_stride = 4 \ --train_crop_size = 513 \ --train_crop_size = 513 \ --train_batch_size = 1 \ --dataset =“ pascal_voc_seg” \ --tf_initial_checkpoint = / home / ktpl13 / Desktop / models-master / research / deeplab / datasets / pascal_voc_seg / checkpoint \ --train_logdir = / home / ktpl13 / Desktop / models-master / research / deeplab / datasets / pascal_voc_seg / exp / train_on_train_set / train $ \ --dataset_dir = / home / ktpl13 / Desktop / models-master / research / deeplab / datasets / pascal_voc_seg / tfrecord
50小时后进行训练。然后,我使用以下命令开始评估
python deeplab / eval.py \ --logtostderr \ --eval_split =“ val” \ --model_variant =“ xception_65” \ --atrous_rates = 6 \ --atrous_rates = 12 \ --atrous_rates = 18 \ --output_stride = 16 \ --decoder_output_stride = 4 \ --eval_crop_size = 513 \ --eval_crop_size = 513 \ --dataset =“ pascal_voc_seg” \ --checkpoint_dir = / home / ktpl13 / Desktop / models-master / research / deeplab / datasets / pascal_voc_seg / exp / train_on_train_set / train / \ --eval_logdir = / home / ktpl13 / Desktop / models-master / research / deeplab / datasets / pascal_voc_seg / exp / train_on_train_set / eval / \ --dataset_dir = / home / ktpl13 / Desktop / models-master / research / deeplab / datasets / pascal_voc_seg / tfrecord
执行上述命令后,它正确地找到了一个检查点,但此后它仍停留在此消息中
“正在等待检查站 主页/ ktpl13 /桌面/ models-master / research / deeplab / datasets / pascal_voc_seg / exp / train_on_train_set / train /“
所以我在2小时后终止了Eval的执行,并使用以下命令开始了可视化
python deeplab / vis.py \ --logtostderr \ --vis_split =“ val” \ --model_variant =“ xception_65” \ --atrous_rates = 6 \ --atrous_rates = 12 \ --atrous_rates = 18 \ --output_stride = 16 \ --decoder_output_stride = 4 \ --vis_crop_size = 513 \ --vis_crop_size = 513 \ --dataset =“ pascal_voc_seg” \ --checkpoint_dir = / home / ktpl13 / Desktop / models-master / research / deeplab / datasets / pascal_voc_seg / exp / train_on_train_set / train / \ --vis_logdir = / home / ktpl13 / Desktop / models-master / research / deeplab / datasets / pascal_voc_seg / exp / train_on_train_set / vis / \ --dataset_dir = / home / ktpl13 / Desktop / models-master / research / deeplab / datasets / pascal_voc_seg / tfrecord /
还对一个检查点执行了可视化,然后再次收到与Eval相同的消息。
“正在等待检查站 主页/ ktpl13 /桌面/ models-master / research / deeplab / datasets / pascal_voc_seg / exp / train_on_train_set / train /“
我再次终止了vis的执行。有一个在vis下生成的名为“ segmentation_results”的文件夹,其中包含每个输入图像的“ prediction.png”。这是“完全黑色的图像”。
现在我的问题是
答案 0 :(得分:2)
关于等待另一个检查点的评估,是因为默认值希望与训练过程一起运行。要只运行一次eval脚本,请在训练后将此标志添加到eval.sh脚本中:
--max_number_of_evaluations = 1
您可以使用TensorBoard查看该值。
将图像保存到目录时,vis.sh脚本似乎运行正常。所有黑色图像的问题是一个不同的问题(例如:数据集配置,标签权重,颜色图去除等)。
答案 1 :(得分:0)
为了将来参考,我遇到了同样的问题。我发现发生了什么事后,我笑得很开心。
评估和可见性均符合预期。
对于eval,在“等待检查点”输出的上方,应该有一行显示“ miou(此处的模型精度)”,这是一条很小的线,很容易错过。
对于vis,您将在vis命令中提供的vis logdir中找到细分结果。
更深入地,评估和可视化均已成功分析了您训练过的网络,并且作为一项功能,如果您决定训练更多网络进行比较,他们将等待更多的检查点。