由于最近刚看了rcnn,faster_rcnn,mask_rcnn的原文,想着做一下实验,所以就如题,在ubuntu下安装TensorFlow的目标识别API!!!!在此之前很少用Ubuntu,所以犯的错很齐全
环境配置参考博客链接
对象检测API参考的博客
主要参照上面的两个博客进行,但是当然会有一些突发问题,补充整理在下。
python3、cuda9.0、cudnn7.1.3、TensorFlow-gpu==1.9
确定硬件软件版本信息
1 gcc --version 查看GCC版本号 gcc (Ubuntu 7.0 -4ubuntu8) 7.0
2 g++ --version 查看G++版本号 g++ (Ubuntu 7.0-4ubuntu8) 7.0
3 nvidia-smi
如果nvidia-smi命令语句报错 装nvidia驱动! 我装的是nvidia-390
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-390
然后再次测试nvidia-smi,则会看到相应的版本信息!!!
gcc/g++降级 4.8(ubuntu16默认安装7.0版本)
4 sudo apt-get install gcc-4.8
5 sudo apt-get install g++-4.8
链接gcc4.8 g++4.8版本
6 cd /usr/bin
7 ls -l gcc*#会发现链接的还是7.0版本
8 sudo mv gcc gcc.bak #备份
9 sudo ln -s gcc-4.8 gcc #重新链接
10 sudo mv g++ g++.bak
11 sudo ln -s g++-4.8 g++
12 gcc -v g++ -v #查看版本
安装python3.5
sudo apt-get install python3
安装cuda
CUDA 到CUDA9.0 下载页面下载runfile安装,Tensorflow官网给的暂时还是9.0版本,新版本可以尝试一下.稳妥起见,这里选择9.0。
cuda9.0下载地址
下载cuda9.0安装包和4个补丁如下图
gcc、g++版本确认后执行下面操作
#一定要和自己下载文件名名称一致 需要一直按回车 因为需要你读说明~~一直按着直到100%
sh cuda_9.0.176_384.81_linux.run --override#注意cuda版本命名是否一致
如果有安装了显卡驱动的,注意在提问是否安装显卡驱动时选择no,其他 选择默认路径或者yes即可。!!!!在此之前已经安装了驱动 一定要选no
sh cuda_9.0.176.1_linux.run
sh cuda_9.0.176.2_linux.run
sh cuda_9.0.176.3_linux.run
sh cuda_9.0.176.4_linux.run
添加环境变量
sudo gedit ~/.bashrc
//////////////把下面两句加入bashrc中
export PATH=/usr/local/cuda-9.0/bin${PATH:+:$PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
保存关闭后,执行
source ~/.bashrc
cudnn7.1.3安装
cuDNN 到cudnn官网 下载即可,这里注意要选择对应CUDA9.0的软件包, 下载完毕后,切到默认的Downloads文件夹,可以看到 cudnn-9.0-linux-x64-v7.1.tgz 压缩包 先解压,后复制到CUDA安装文件夹里面.
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
TensorFlow1.9安装
pip install tensorflow-gpu==1.9
验证
python3
import tensorflow af tf
模型下载
先下载模型 github上有开源信息:下载地址
包括图像分类、检测、自然语言处理NLP、视频预测、图像理解等等
解压 并移到tensorflow文件夹下
- 查询tensorflow安装路径
python3
import tensorflow as tf
tf.__path__
- 移动文件夹
假设你的用户目录是/home/yangxin,也就是你Crtl+Alt+T打开终端时,是/home/yangxin,如果你需要移动/home/yangxin/download目录下的aaa文件到/home/development目录下的操作如下:
cd /home/yangxin/download
sudo mv aaa /home/development
安装依赖项
sudo apt-get install protobuf-compiler python-pil python-lxml
sudo pip3 install jupyter
sudo pip3 install matplotlib
编译protos库
进入tensorflow/models-master/research
你的可能是models
protoc object_detection/protos/*.proto --python_out=.
报错1:
“ssd” is not defined
expected “required” …
解决办法:更新protoc
$ sudo apt-get install autoconf automake libtool curl make g++ unzip
$ git clone https://github.com/google/protobuf.git
$ cd protobuf
$ git submodule update --init --recursive
$ ./autogen.sh
$ ./configure
$ make
$ make check
$ sudo make install
$ sudo ldconfig # refresh shared library cache.
添加环境变量
gedit ~/.bashrc
添加以下到末尾
pwd:~tensorflow/**models-master**自己补全
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
保存退出 执行
source ~/.bashrc
测试
进入tensorflow/models/research/执行如下
python object_detection/builders/model_builder_test.py
报错2
No module named ‘nets’
解决办法:
将slim文件夹下面的 setup.py build 和install一下
python setup.py build
python setup.py install
再次测试!!!!就看到了曙光ok !!!!!!
终于成功了 啊 啊啊啊啊 啊啊啊