Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python tensorflow deeplabv3+;从零开始训练train.sh代码到VOC val中重复出现的82.2%_Python_Tensorflow - Fatal编程技术网

Python tensorflow deeplabv3+;从零开始训练train.sh代码到VOC val中重复出现的82.2%

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 \

数据: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 \
  --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
参考: