Python tensorflow deeplabv3+;从零开始训练train.sh代码到VOC val中重复出现的82.2%
数据:VOC 2012扩充数据集:我正在接受10582的培训 代码:我正在使用官方的deeplabv3+。除了bash代码之外,我没有更改代码 预训练重量:不包括 这是我的火车。嘘:Python tensorflow deeplabv3+;从零开始训练train.sh代码到VOC val中重复出现的82.2%,python,tensorflow,Python,Tensorflow,数据:VOC 2012扩充数据集:我正在接受10582的培训 代码:我正在使用官方的deeplabv3+。除了bash代码之外,我没有更改代码 预训练重量:不包括 这是我的火车。嘘: python "${WORK_DIR}"/train.py \ --logtostderr \ --train_split="train_aug" \ --model_variant="xception_65" \ --atrous_rates=6 \ --atrous_rates=12 \
python "${WORK_DIR}"/train.py \
--logtostderr \
--train_split="train_aug" \
--model_variant="xception_65" \
--atrous_rates=6 \
--atrous_rates=12 \
--atrous_rates=18 \
--output_stride=16 \
--decoder_output_stride=4 \
--train_crop_size="513,513" \
--train_batch_size=15 \
--training_number_of_steps=30000 \
--fine_tune_batch_norm=False \
--num_clones=5 \
--base_learning_rate=0.007 \
--tf_initial_checkpoint="${COCO_PRE}/x65-b2u1s2p-d48-2-3x256-sc-cr300k_init.ckpt" \
--train_logdir="${TRAIN_LOGDIR}" \
--dataset_dir="${PASCAL_DATASET}"\
--initialize_last_layer=False
结果:我认为我的配置应该是82.2%,但我在30k的步骤中得到了80%的eval.OS=16和80.15%的eval.OS=8
所以我的问题是:我怎样才能得到82.2%的回报
编辑:2019年2月9日:-----------------
我注意到fine\u tune\u batch\u norm=false
在train.py中:
如果要在中微调批处理规范参数,请设置为True
DeepLabv3
因此我决定尝试fine\u tune\u batch\u norm=true
,因为从头开始的训练需要更改BN参数。
编辑----09/07--------------------
仍然无法使用:
python "${WORK_DIR}"/train.py \
--logtostderr \
--train_split="train_aug" \
--model_variant="xception_65" \
--atrous_rates=6 \
--atrous_rates=12 \
--atrous_rates=18 \
--output_stride=16 \
--decoder_output_stride=4 \
--train_crop_size="513,513" \
--train_batch_size=15 \
--training_number_of_steps=100000 \
--fine_tune_batch_norm=true \
--num_clones=5 \
--base_learning_rate=0.007 \
--tf_initial_checkpoint="${COCO_PRE}/x65-b2u1s2p-d48-2-3x256-sc-cr300k_init.ckpt" \
--train_logdir="${TRAIN_LOGDIR}" \
--dataset_dir="${PASCAL_DATASET}"\
--initialize_last_layer=False
这次的结果更糟。我重现了这个结果。我得了81.5%。第一轮我用了40000步,我想30000步可能更好 Bash代码:
python "${WORK_DIR}"/train.py \
--logtostderr \
--train_split="train_aug" \
--model_variant="xception_65" \
--atrous_rates=6 \
--atrous_rates=12 \
--atrous_rates=18 \
--output_stride=16 \
--decoder_output_stride=4 \
--train_crop_size="513,513" \
--train_batch_size=24 \
--base_learning_rate=0.007 \
--training_number_of_steps=30000 \
--fine_tune_batch_norm=true \
--num_clones=8 \
--tf_initial_checkpoint="${COCO_PRE}/x65-b2u1s2p-d48-2-3x256-sc-cr300k_init.ckpt" \
--train_logdir="${TRAIN_LOGDIR}" \
--dataset_dir="${PASCAL_DATASET}"\
--initialize_last_layer=true
python "${WORK_DIR}"/train.py \
--logtostderr \
--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,513" \
--train_batch_size=24 \
--training_number_of_steps=60000 \
--fine_tune_batch_norm=false \
--num_clones=8 \
--base_learning_rate=0.01 \
--tf_initial_checkpoint="${COCO_PRE}/x65-b2u1s2p-d48-2-3x256-sc-cr300k_init.ckpt" \
--train_logdir="${TRAIN_LOGDIR}" \
--dataset_dir="${PASCAL_DATASET}"\
--initialize_last_layer=true
参考: