基于Tensorflow 1.15的DeepLabV3+_框架的配置和CityScapesScript测试集的语义分割实现

2021-06-24 10:11:14 浏览数 (2)

一、硬件环境:

Ubuntu 20.04 LTS Operation System

NVIDIA TiTan XP GPU

二、软件环境:

GPU Driver:NVIDIA-Linux-x86_64-460.80.run

CUDA: Cuda 10.0

CUDNN: Cudnn 7.4.1 for Cuda 10.0

Anaconda:Anaconda3-2021.05-Linux-x86_64.sh

Pycharm

Pigcha

三、Tensorflow-gpu 1.15环境的配置:

其中,Tensorflow,CUDA,CUDNN均选择自己需要的版本来下载。

Reference:

驱动的安装:https://www.cnblogs.com/shyern/p/10606315.html#_label3

CUDA的安装:

https://developer.nvidia.com/cuda-toolkit-archive

CUDNN的安装:

https://developer.nvidia.com/zh-cn/cudnn

* 使用Firefox Web Browser 在密码验证时有问题,可以通过 Wechat Scan QR Code登录。

Tensorflow的安装:https://www.bilibili.com/video/BV1UE411N7gS

Tensorflow-CUDA-CUDNN版本对照表:

https://www.tensorflow.org/install/source Tips:

1.请先装驱动,尽量安装较高版本的驱动才能运行对应的CUDA。(向下兼容)

2.如果装完驱动之后返回图形界面时黑屏,请重装系统,之后使用nvidia-smi确认驱动是否安装成功。若未成功,请重新选择驱动版本进行安装。

3.DeepLabV3 框架只能在GPU工作情况下运行,因为有部分代码要求GPU参与工作,除非自行修改代码。

4.请在Linux环境下进行环境的配置,Win环境下会产生各种ERROR,无法下手。

5.Manjaro上的开源驱动,用不了。

6.若是在Anaconda下面创建的环境,可以通过指定CUDA版本进行CUDA的安装,但是没有对应版本的CUDNN库,可以将下载的CUDNN解压,直接替换Anaconda-pkg里CUDNN的内容,CUDA可以正常工作。

7.Pip推荐豆瓣源:https://pypi.douban.com/simple/

8.Anaconda推荐BFSU源:https://https://mirrors.bfsu.edu.cn/help/anaconda/

l检测代码:

import tensorflow as tf

a = tf.test.is_built_with_cuda() # 判断CUDA是否可以用

b = tf.test.is_gpu_available(

cuda_only=False,

min_cuda_compute_capability=None

) # 判断GPU是否可以用

print(a)

print(b)

四、DeepLabV3 _框架的配置与CityScapesScript测试集的语义分割:

Reference:

https://blog.csdn.net/malvas/article/details/88896283

Tips:

1.DeepLab是个工程项目,要把model_test.py, train.py,eval.py, vis.py同deeplab一并拉到自己新建的工程文件夹下运行。(自己新建的工程文件DeepLab_Test里面有【deeplab,model_test.py, train.py,eval.py, vis.py】)

2.Reference 里面没有的文件夹自己要新建。

3.CityScapesScript测试集下载需要.edu后缀的邮箱。

4.缺少的库,如:pillow, tf_slim, quaternion按照返回讯息进行下载即可。

5.Git clone境内对应Gitee地址:

// CityScapesScript标注集

git clone https://gitee.com/chanmanseui/cityscapesScripts.git

// DeepLab源码

git clone https://gitee.com/chanmanseui/models.git

6.Reference里面train,eval,vis指令错误的地方和更改后的指令:

# train.py

python train.py

--logtostderr

--training_number_of_steps=1000

#ERROR OCCURED

--train_split="train_fine"

--model_variant="xception_65"

--atrous_rates=6

--atrous_rates=12

--atrous_rates=18

--output_stride=16

--decoder_output_stride=4

--train_crop_size="769,769"

--train_batch_size=2

--dataset="cityscapes"

--tf_initial_checkpoint='/home/administractor/PycharmProjects/DeepLab_Test/deeplab/backbone/deeplabv3_cityscapes_train/model.ckpt'

--train_logdir='/home/administractor/PycharmProjects/DeepLab_Test/deeplab/exp/train_on_train_set/train'

--dataset_dir='/home/administractor/data/cityscapesScripts/tfrecord'

# eval.py

python eval.py

--logtostderr

--eval_split="val_fine"

--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/administractor/PycharmProjects/DeepLab_Test/deeplab/exp/train_on_train_set/train'

--eval_logdir='/home/administractor/PycharmProjects/DeepLab_Test/deeplab/exp/train_on_train_set/eval'

--dataset_dir='/home/administractor/data/cityscapesScripts/tfrecord'

# vis.py

python vis.py

--logtostderr

--vis_split="val_fine"

--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/administractor/PycharmProjects/DeepLab_Test/deeplab/exp/train_on_train_set/train'

--vis_logdir='/home/administractor/PycharmProjects/DeepLab_Test/deeplab/exp/train_on_train_set/vis'

--dataset_dir='/home/administractor/data/cityscapesScripts/tfrecord'

* 最终结果:

0 人点赞