ssd-tensorflow训练数据集

下载ssd-tensorflow版本的网址:https://github.com/balancap/SSD-Tensorflow

一、遇到的问题

1、import cv2报错 no module named cv2

解决办法:https://mp.csdn.net/postedit/90769863

2、pycharm同一目录下无法import明明已经存在的.py文件

链接:https://blog.csdn.net/wcx1293296315/article/details/81156036

3、报错: AttributeError: 'module' object has no attribute 'to_rgba'

主要是matplotlib版本引起的问题,可以降低其版本。

可运行如下代码:

 sudo pip install matplotlib==2.2.0

4、jupyter notebook打开显示500 : Internal Server Error

在anaconda prompt中打开jupyter notebook新建一个文件时出现错误:500 : Internal Server Error

解决办法:pip install --upgrade --user nbconvert

二、训练步骤(不改变数据集的情况)

1、将数据转化为tensorflow统一的格式TFRecord

ssd-tensorflow训练数据集_第1张图片

                                                     图一

Annotation:xml文件;JPEGImages:图片数据;

ImageSets:每个txt文档写的内容是图片的名没有后缀;

ssd-tensorflow训练数据集_第2张图片

                                                 图二

新建一个.sh文件tf_convert_data.sh 内容:

#!/usr/bin/env bash
#训练数据存放路径,即图一
DATASET_DIR=/home/liangjing/PycharmProject/PASCAL_VOC/VOCtest_06-Nov-2007/VOC2007/
#tfrecords格式的文档存放路径
OUTPUT_DIR=/home/liangjing/PycharmProject/SSD-Tensorflow-master/tfrecords_test/

python3 ./tf_convert_data.py \
  --dataset_name=pascalvoc \
  --dataset_dir=${DATASET_DIR} \
  --output_name=voc_2007_test \
  --output_dir=${OUTPUT_DIR}

运行命令:sh tf_convert_data.sh ,若是无法运行,可利用chomd +x tf_convert_data.sh ,将其转化为可执行文件;

2、训练

新建train.sh文件,内容如下:

#!/usr/bin/env bash
#tfrecords格式的文档存放路径
DATASET_DIR=./tfrecord
TRAIN_DIR=./log/
#fineturn的model
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} \
    --checkpoint_exclude_scopes =ssd_300_vgg/conv6,ssd_300_vgg/conv7,ssd_300_vgg/block8,ssd_300_vgg/block9,ssd_300_vgg/block10,ssd_300_vgg/block11,ssd_300_vgg/block4_box,ssd_300_vgg/block7_box,ssd_300_vgg/block8_box,ssd_300_vgg/block9_box,ssd_300_vgg/block10_box,ssd_300_vgg/block11_box \
    --save_summaries_secs=60 \
    --save_interval_secs=600 \
    --weight_decay=0.0005 \
    --optimizer=adam \
    --learning_rate=0.001 \
    --batch_size=8 \
    --ignore_missing_vars = True \

运行:sh train.sh

 

 

 

你可能感兴趣的:(物体识别)