免责声明:第一次尝试机器学习!
我们需要根据背景自动分割图像中的对象。通过互联网,我们发现“深度实验室”将解决我们的目的。我们从他们的官方网站下载了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”。这是“完全黑色的图像”。
现在我的问题是。
我的评估和可视化完成了吗?还是我做错了什么?
为什么预测的图像全都是黑色?
最佳答案
关于等待另一个检查点的评估,是因为默认值希望与训练过程一起运行。要只运行一次eval脚本,请在训练后将此标志添加到eval.sh脚本中:--max_number_of_evaluations = 1
您可以使用TensorBoard查看该值。
vis.sh脚本似乎正在正确运行,因为它会将图像保存到目录中。所有黑色图像的问题是一个不同的问题(例如:数据集配置,标签权重,色图去除等)。