标签:blob 计算机视觉 空闲 scripts origin convert 监测 pytho spl
原项目地址:SSD-Tensorflow
根据README的介绍,该项目收到了tf-slim项目中包含了多种经典网络结构(分类用)的启发,使用了模块化的编程思想,可以替换检查网络的结构,其模块组织如下:
项目给提供了两个已训练的VGG网络,输入分别为300和512。
除此之外,还有一个迷你的SSD展示ipynb脚本,可以快读演示预测ssd_notebook。
tf_convert_data.py
将数据转换为一组TF-Record文件,调用示意如下:
DATASET_DIR=./VOC2007/test/ OUTPUT_DIR=./tfrecords python tf_convert_data.py --dataset_name=pascalvoc --dataset_dir=${DATASET_DIR} --output_name=voc_2007_train --output_dir=${OUTPUT_DIR}
可以讲caffe的模型转换为checkpoints,供程序使用:
CAFFE_MODEL=./ckpts/SSD_300x300_ft_VOC0712/VGG_VOC0712_SSD_300x300_ft_iter_120000.caffemodel python caffe_to_tensorflow.py --model_name=ssd_300_vgg --num_classes=21 --caffemodel_path=${CAFFE_MODEL}
脚本train_ssd_network.py
用于训练模型,
使用VGG-300模型进行微调的示意如下,
DATASET_DIR=./tfrecords TRAIN_DIR=./logs/ CHECKPOINT_PATH=./checkpoints/ssd_300_vgg.ckpt python train_ssd_network.py --train_dir=${TRAIN_DIR} --dataset_dir=${DATASET_DIR} --dataset_name=pascalvoc_2012 --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 --batch_size=32
使用checkpoint文件来检验训练效果,调用示意如下:
EVAL_DIR=./logs/ CHECKPOINT_PATH=./checkpoints/VGG_VOC0712_SSD_300x300_ft_iter_120000.ckpt python eval_ssd_network.py --eval_dir=${EVAL_DIR} --dataset_dir=${DATASET_DIR} --dataset_name=pascalvoc_2007 --dataset_split_name=test --model_name=ssd_300_vgg --checkpoint_path=${CHECKPOINT_PATH} --batch_size=1
这个脚本可以在训练脚本运行的同时运行,动态的监测当前训练效果,此时命令如下:
EVAL_DIR=${TRAIN_DIR}/eval python eval_ssd_network.py --eval_dir=${EVAL_DIR} --dataset_dir=${DATASET_DIR} --dataset_name=pascalvoc_2007 --dataset_split_name=test --model_name=ssd_300_vgg --checkpoint_path=${TRAIN_DIR} --wait_for_checkpoints=True --batch_size=1 --max_num_batches=500
而且文档描述的很不简单,eval脚本可以监测到GPU空闲,
one can pass to training and validation scripts a GPU memory upper limit such that both can run in parallel on the same device. If some GPU memory is available for the evaluation script, the former can be run in parallel as follows:
ssd_vgg_preprocessing.py、
ssd_vgg_300/512.py
one may also want to experiment with data augmentation parameters (random cropping, resolution, ...) in ssd_vgg_preprocessing.py
or/and network parameters (feature layers, anchors boxes, ...) in ssd_vgg_300/512.py
『计算机视觉』SSD源码学习_基于TensorFlow(待续)
标签:blob 计算机视觉 空闲 scripts origin convert 监测 pytho spl
原文地址:https://www.cnblogs.com/hellcat/p/9248489.html