1. 程式人生 > >Ubuntu 16.04下安裝TensorFlow 目標檢測 API(物件檢測API)

Ubuntu 16.04下安裝TensorFlow 目標檢測 API(物件檢測API)

由於最近剛看了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
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

API的安裝

模型下載

先下載模型 github上有開源資訊:下載地址
包括影象分類、檢測、自然語言處理NLP、視訊預測、影象理解等等

解壓 並移到tensorflow資料夾下

  1. 查詢tensorflow安裝路徑
python3 
import tensorflow as tf
tf.__path__
  1. 移動資料夾
    假設你的使用者目錄是/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 !!!!!!
終於成功了 啊 啊啊啊啊 啊啊啊