在 Anaconda 3 下创建 tfgpu 虚拟环境
source activate tfgpu
1、下载并准备cityscapes数据集
在datasets下创建cityscapes文件夹
链接: https://pan.baidu.com/s/1wcY6Dit5homnBG2Nzvz0ZA 密码: d84s
下载百度网盘中的数据集到 cityscapes 文件夹中
执行
$ cd models/research/deeplab/datasets
$ sh convert_cityscapes.sh
错误1:
修改convert_cityscapes.sh
# Create training labels.
python "${CITYSCAPES_ROOT}/cityscapesScripts/cityscapesscripts/preparation/createTrainIdLabelImgs.py"
修改createTrainIdLabelImgs.py
# python imports
from __future__ import print_function, absolute_import, division
import os, glob, sys
sys.path.append('/home/mirrorubuntu/models/research/deeplab/datasets/cityscapes/cityscapesScripts')# add path
# cityscapes imports
from cityscapesscripts.helpers.csHelpers import printError
from cityscapesscripts.preparation.json2labelImg import json2labelImg
# The main method
def main():
# Where to look for Cityscapes
if 'CITYSCAPES_DATASET' in os.environ:
cityscapesPath = os.environ['CITYSCAPES_DATASET']
else:
cityscapesPath = os.path.join(os.path.dirname(os.path.realpath(__file__)),'..','..')
# how to search for all ground truth
searchFine = os.path.join( "/home/mirrorubuntu/models/research/deeplab/datasets/cityscapes" , "gtFine" , "*" , "*" , "*_gt*_polygons.json" ) #改为绝对路径
searchCoarse = os.path.join( cityscapesPath , "gtCoarse" , "*" , "*" , "*_gt*_polygons.json" )
pip install cityscapesscripts
错误2:
pip3 install pyquaternion

$ sh convert_cityscapes.sh
tfrecord文件夹下转换成功
2、训练cityscapes数据
下载预训练权重文件
https://github.com/tensorflow/models/blob/master/research/deeplab/g3doc/model_zoo.md
在exp文件夹下创建名为 cityscapes_train 的文件夹
python train.py \
--logtostderr \
--training_number_of_steps=100 \
--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=321,321 \
--train_batch_size=4 \
--fine_tune_batch_norm=False \
--dataset="cityscapes" \
--tf_initial_checkpoint='/home/mirrorubuntu/models/research/deeplab/deeplabv3_cityscapes_train/model.ckpt' \
--train_logdir='/home/mirrorubuntu/models/research/deeplab/exp/cityscapes_train/train' \
--dataset_dir='/home/mirrorubuntu/models/research/deeplab/datasets/cityscapes/tfrecord'
错误1:
Unknown: Failed to get convolution algorithm. This is probably because cuDNN
解决办法:
import os
os.environ['CUDA_VISIBLE_DEVICES'] = '/gpu:0'
3. 测试结果可视化
python vis.py \
--logtostderr \
--vis_split="val" \
--model_variant="xception_65" \
--atrous_rates=6 \
--atrous_rates=12 \
--atrous_rates=18 \
--output_stride=16 \
--decoder_output_stride=4 \
--vis_crop_size= 1025,2049 \
--dataset= "cityscapes" \
--colormap_type= "cityscapes" \
--checkpoint_dir='/home/mirrorubuntu/models/research/deeplab/exp/cityscapes_train/train' \
--vis_logdir='/home/mirrorubuntu/models/research/deeplab/exp/cityscapes_train/vis' \
--dataset_dir='/home/mirrorubuntu/models/research/deeplab/datasets/cityscapes/tfrecord'
vis_split:设置为测试集
vis_crop_size:设置1024,2048为图片的大小
dataset:设置为我们在data_generator.py文件设置的数据集名称
dataset_dir:设置为创建的TFRecord
colormap_type:可视化标注的颜色
可到目录deeplab/exp/cityscapes_train/vis下查看可视化结果
出现了奇怪错误,看了好久还是没办法解决
python eval.py \
--logtostderr \
--eval_split="val" \
--model_variant="xception_65" \
--atrous_rates=6 \
--atrous_rates=12 \
--atrous_rates=18 \
--output_stride=16 \
--decoder_output_stride=4 \
--eval_crop_size=1025,2049 \
--dataset="cityscapes" \
--checkpoint_dir='/home/mirrorubuntu/models/research/deeplab/exp/cityscapes_train/train'\
--eval_logdir='/home/mirrorubuntu/models/research/deeplab/exp/cityscapes_train/eval' \
--dataset_dir='/home/mirrorubuntu/models/research/deeplab/datasets/cityscapes/tfrecord'' \
--max_number_of_evaluations=1
参考链接:
https://www.freesion.com/article/1186620066/
https://codeantenna.com/a/YBBUkMT72q
版权声明:本文为qq_38766208原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。