balancap / SSD-Tensorflow

Single Shot MultiBox Detector in TensorFlow
4.11k stars 1.89k forks source link

> 根据前面人的提示,在代码中注释掉关于checkpoint就可以运行了。 #394

Closed qipengh closed 3 years ago

qipengh commented 3 years ago

根据前面人的提示,在代码中注释掉关于checkpoint就可以运行了。

DATASET_DIR=/Users/huanyu_wang/Public/Git-Files/SSD-Tensorflow/tfrecords
TRAIN_DIR=./logs/ssd_300_vgg_3
#CHECKPOINT_PATH=./checkpoints/ssd_300_vgg.ckpt
python train_ssd_network.py \
    --train_dir=${TRAIN_DIR} \
    --dataset_dir=${DATASET_DIR} \
    --dataset_name=pascalvoc_2007 \
    --dataset_split_name=train \
    --model_name=ssd_300_vgg \
    #--checkpoint_path=${CHECKPOINT_PATH} \
    --save_summaries_secs=60 \
    --save_interval_secs=600 \
    --weight_decay=0.0005 \
    --optimizer=adam \
    --learning_rate=0.001 \
    --learning_rate_decay_factor=0.95 \
    --batch_size=32

如果想fin-tune的话,需要将CHECKPOINT_PATH指定到文件而不是文件夹,例如./checkpoints/ssd_300_vgg.ckpt/ssd_300_vgg.ckpt,因为官方给定的文件也是.ckpt后缀。

You should assign CHECKPOINT_PATH rather than CHECKPOINT_DIR, the filename and the dir_name its the same, that is the point.

Originally posted by @cjnjuwhy in https://github.com/balancap/SSD-Tensorflow/issues/156#issuecomment-477429907

--------分割线--------- 介绍一下我的问题和解决办法 问题1:ValueError: Can't load save_path when it is None. 解决1:由于我的ckpt目录是./ckpt/,具体文件是model.ckpt-823199.xxxxxxx。于是我设置了--checkpoint_path="./ckpt_inv1/model.ckpt"。接下来就有了问题2的报错信息; 问题2:ValueError: The passed save_path is not a valid checkpoint: ./ckpt_inv1/model.ckpt 解决2:由于我是finetune(1000 step),所以指定--checkpoint_path="./ckpt_inv1/model.ckpt-823199",就能正常训练了。

希望能帮到大家,尽量具体到实际的ckpt(也就是.xxx之前的部分)