TensorFlow+Faster-RCNN+Ubuntu 环境配置&代码运行过程

参考链接:
https://github.com/endernewton/tf-faster-rcnn

https://www.cnblogs.com/toone/p/8433581.html

1. 前期准备

  • 安装虚拟环境
创建一个tf-faster-rcnn的python2.7的虚拟环境

conda create –n tf-faster-rcnn python=2.7

进入此虚拟环境

source activate tf-faster-rcnn

备注:

a. 如果需要退出此虚拟系统,执行以下命令

source deactivate

b. 在虚拟环境中安装的东西会放在此根目录下/home/USERNAME/.conda/envs/tf-faster-rcnn(创建的虚拟环境名字)

查看cuda的版本

cat /usr/local/cuda/version.txt

查看cudnn版本

cat /usr/local/cuda/include/cudnn.h | grepCUDNN_MAJOR -A 2

根据cuda 和 cudnn版本,到tensorflow 的官网上查对应的TF版本。我的cuda是8.0,cudnn是5.1的,所以要安装1.2.0

https://www.tensorflow.org/install/install_sources#common_installation_problems


2. 环境配置

  • 安装TensorFlow

1) 执行如下命令,搜索适合的安装地址(注意要装gpu;装1.2.0;装linux-64的)

anaconda search -t conda tensorflow


2) 然后执行如下命令:

anaconda show marta-sd/tensorflow-gpu  (anaconda+show+搜索到的TensorFlow安装名)


3) 根据命令行提示,执行如下命令:

conda install --channel https://conda.anaconda.org/marta-sd tensorflow-gpu


4) 验证安装结果,执行如下命令:

conda list


运行python代码,验证TensorFlow安装成功与否。

  • 安装其他依赖包

还需要安装一些依赖包:cython, opencv-python,easydict

安装cython

conda install cython


安装opencv-python

(不能直接用 conda install opencv-python


而且也没有linux平台下的


所以需要使用命令:

conda install -c menpo opencv3=3.1.0  (若环境是py3.5的,则会自动识别装3.1.0-py3.5的)

安装 easydict

同理,不能用condainstall easydict=1.6

使用命令anaconda search-t conda easydict 查找版本


使用命令 anaconda show verydeep/easydict 查找安装地址

使用命令 conda install --channel https://conda.anaconda.org/verydeepeasydict  安装


3. 下载代码和数据

clone github的仓库

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

更新GPU的架构配置,到setup.py中找到 -arch 这个参数,改成自己的GPU架构就行了

cd tf-faster-rcnn/lib

vim setup.py

对应的配置如下图,github里面可能会对一些其他的显卡更新参数(本服务器是Titanx,所以是sm_52,所以不用更改了)

链接cython 模块,注意这也是在上一步那个lib 文件夹中进行的

make clean

make

cd ..

voc2007下载地址

https://pjreddie.com/projects/pascal-voc-dataset-mirror/



voc2012下载地址

http://host.robots.ox.ac.uk/pascal/VOC/voc2012/#devkit



4. 运行Demo 和测试预训练模型

  • 下载预训练模型

https://pan.baidu.com/s/1kWkF3fT

下载之后放到 data文件夹即可。

  • 建立预训练模型的软连接 (在tf-faster-rcnn根目录下操作)

NET=res101

TRAIN_IMDB=voc_2007_trainval+voc_2012_trainval

mkdir -p output/${NET}/${TRAIN_IMDB}

cd output/${NET}/${TRAIN_IMDB}

ln -s ../../../data/voc_2007_trainval+voc_2012_trainval ./default

cd ../../..

  • 运行以下代码就能测试demo了,注意是在tf-faster-rcnn 这个根文件夹中运行

GPU_ID=0

CUDA_VISIBLE_DEVICES=${GPU_ID} ./tools/demo.py


  • 接着测试预训练模型

在tf-faster-rcnn根目录下执行以下两个命令:
GPU_ID=0

./experiments/scripts/test_faster_rcnn.sh $GPU_ID pascal_voc_0712 res101

最后跑出来的结果:

猜你喜欢

转载自blog.csdn.net/angela_qin/article/details/80921688