Faster-RCNN Tensorflow版本ubuntu18.04下的安装配置

记录Faster-RCNN tensorflow版github项目的运行配置过程

【时间:2018.10.9 】

环境及配置

GPU显卡:1070ti-8G
系统环境:Ubuntu=18.04、CUDA=9.0、CUDNN=7.3.x
需要配置: python2.7;tensorflow-gpu==1.8 ;cython;opencv-python;easydict(>=1.8);PIL(pillow);matplotlib (❤️.0);
项目地址: https://github.com/endernewton/tf-faster-rcnn

一、配置过程

step1:使用anaconda创建一个python2.7虚拟环境

	condo create -n tfpy27 python=2.7
	# 启动环境
	conda activate tfpy27

step2: 在环境(tfpy27)中通过pip安装相关依赖项[根据提示可先升级pip版本]

	(tfpy27)#pip install cython
	(tfpy27)#pip install opencv-python
	(tfpy27)#pip install easydict

	注:安装PIL,需要先在系统中安装python-imaging
	sudo apt install python-imaging
	
	(tfpy27)#pip install pillow

step3: 将tf-faster-rcnn github项目克隆到本地

	git clone https://github.com/endernewton/tf-faster-rcnn.git

step4: 进入tf-faster-rcnn根目录进行相关操作

  1. 进入lib文件夹进行make
    注意:如果当前系统的gcc版本大于6将不能编译,需要降级,建议4.8版本(见补充附件内容)
	[tf-faster-rcnn根目录执行]
	(tfpy27)#cd lib
	(tfpy27)#make clean
	(tfpy27)#make
	(tfpy27)#cd ..
  1. 安装Python COCO API,为了使用Microsoft COCO数据(库)集
	[tf-faster-rcnn根目录执行]
	(tfpy27)#cd data
	(tfpy27)#git clone https://github.com/pdollar/coco.git
	(tfpy27)#cd coco/PythonAPI
	(tfpy27)#make
	(tfpy27)#cd ../../..
  1. 测试DEMO和测试pre-train(预训练)的模型
	[tf-faster-rcnn根目录执行]
	(tfpy27)#./data/scripts/fetch_faster_rcnn_models.sh

注:执行此文件将会下载一个预训练好的模型到data/文件夹下,但是由于网络原因执行自动下载将非常耗时或者下载超时。这时可以将下载链接提取出来,用“科学上网”的方式下载。

下载好的文件放在/data/文件夹下,并解压

  tart -vxf voc_0712_80k-110k.tgz
  1. 建立符号链接(软链接)使得项目可以读取到下载的预训练模型
[tf-faster-rcnn根目录执行]
(tfpy27)#NET=vgg16 (或res101)
(tfpy27)#TRAIN_IMDB=voc_2007_trainval+voc_2012_trainval
(即解压后的预训练模型的文件夹名)
	
(tfpy27)#mkdir -p output/${NET}/${TRAIN_IMDB}
 (注:创建的output文件夹应该和data是同一级)
	 
(tfpy27)#cd output/${NET}/${TRAIN_IMDB}
(tfpy27)#ln -s ../../../data/voc_2007_trainval+voc_2012_trainval ./default 
(注:建立到下载的预训练模型文件夹的符号链接(软链接))
	
(tfpy27)#cd ../../..

注:这儿也可以直接将下载好的模型文件复制到 output/vgg16/voc_2007_trainval+voc_2012_trainval中,就不用建立软链接。

  1. 测试DEMO
[tf-faster-rcnn根目录执行]
(tfpy27)#GPU_ID=0
(tfpy27)#CUDA_VISIBLE_DEVICES=${GPU_ID} ./tools/demo.py —net=vgg16  
(--net参数可选择不同的模型,详情见/tools/demo.py文件)
  1. 如果没有任何错误,将会显示测试图片的检测结果。

二、可能遇到的问题:

  1. demo.py测试文件中包含matplotlib相关的显示需求,如果是SSH方式执行,需要相应处理。
  2. 出现 READ less require 的情况,需要查看下载的预训练模型是不是有误,具体需要根据下载的模型文件去改demo.py中的代码。
  3. 其他出现的问题可更具ERROR错误提示,找到对应的解决办法。

三、其他选项和注意事项:

  1. 在lib文件夹下的setup.py文件夹中可以根据对于显卡配置模型,修改后需要重新在lib文件夹中编译(make)
    在这里插入图片描述

  2. python只能使用2.7,使用3.6时候运行会提示一些错误;
    另外需要注意CUDA和CUDNN的版本对应情况,tensorflow-gpu 版本大于1.5的支持CUDA 9.X和cuDNN 7.x; 版本小于1.4的支持CUDA 8.X 和cuDNN 5.x;下图为Linux情况,其他详情可访问官网推荐 查看。

在这里插入图片描述

参考引用

1、主要参考T.O.-ToOnE的内容,结合自己实践过程中遇到的问题记录于此。
2、tf-faster-rcnn的github项目地址

补充附件A:

UBUNTU 18.04 GCC(G++)降级(或升级)方法

原理:系统中可以同时安装多个版本的GCC,彼此并不冲突。但执行gcc命令时,会更具默认设置来访问对应的版本。因此,只需要修改模板版本的指向即可。
方法
step0: 查看当前gcc(g++)版本

	gcc —version

step1:下载需要降(升)级的GCC版本

	sudo apt install gcc-4.8

step2: 查看是否安装成功,gcc安装文件夹是/usr/bin/

	ls /usr/bin/gcc* (查看gcc开头的文件)

step3: 更改GCC,G++的默认指向

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100 
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 100

注:最后一个表示执行优先级,数字越大,优先级越高。

step5 :查看是否降(升)级完成

	gcc —version

成功则会显示新指向的GCC版本。




本文结束




猜你喜欢

转载自blog.csdn.net/weixin_43255692/article/details/82984435
今日推荐