我在ADE20K
数据集上训练了deeplab v3+,得到了训练后的ckpt
jlog和events
log。但当我在ADE20K
上运行eval.py
和vis.py
时,我得到了以下关于形状的错误:
Shape mismatch in tuple component 1. Expected [513,513,3], got [513,683,3]
这些是我的eval
脚本和vis
脚本:
eval
脚本:
#!/bin/bash
cd ../
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
--checkpoint_dir=deeplab/datasets/ADE20K/exp/train_on_train_set/train/
--eval_logdir=deeplab/datasets/ADE20K/exp/train_on_train_set/eval/
--dataset_dir=deeplab/datasets/ADE20K/tfrecord/
--max_number_of_iterations=1
vis
脚本:
#!/bin/bash
cd ../
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
--checkpoint_dir=deeplab/datasets/ADE20K/exp/train_on_train_set/train/
--vis_logdir=deeplab/datasets/ADE20K/exp/train_on_train_set/vis/
--dataset_dir=deeplab/datasets/ADE20K/tfrecord/
--max_number_of_iterations=1
我的train
脚本:
#!/bin/bash
cd ../
python deeplab/train.py
--logtostderr
--training_number_of_steps=150000
--train_split="train"
--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=2
--min_resize_value=513
--max_resize_value=513
--resize_factor=16
--dataset="ade20k"
--tf_initial_checkpoint=deeplab/datasets/ADE20K/init_models /deeplabv3_xception_ade20k_train/model.ckpt.index
--train_logdir=deeplab/datasets/ADE20K/exp/train_on_train_set/train
--dataset_dir=deeplab/datasets/ADE20K/tfrecord/
有什么地方我弄错了吗?谢谢你的帮助。
确保sh脚本中使用的参数与当前代码版本所需的参数匹配。
不久前,您必须为作物大小传递两个单独的值。购买当前实现使用
--eval_crop_size="513,513"
或
--vis_crop_size="513,513"
(取自此(
希望这能有所帮助;(。如果没有,请尝试在vis.py/eval.py脚本中打印裁剪值,并查看是否正确传递。