參考:
https://blog.csdn.net/dy_guox/article/details/79081499
https://blog.csdn.net/u010103202/article/details/79899293
https://www.jianshu.com/p/4ebaa78e0233
一、開發環境搭建
操作系統:Windows10 64位
TensorFlow:1.8
python:3.5
1.安裝tensorflow_gpu版本的環境:
1)安裝.Net Framework4.6
下載頁面的鏈接為:https://www.microsoft.com/en-us/download/details.aspx?id=53344
下載頁面如下圖所示,點擊下圖紅色箭頭標注處即可開始下載:
點擊Download按鈕,其實是向資源鏈接發起請求,所以直接訪問資源鏈接同樣可以開始下載任務。
下載鏈接:https://www.microsoft.com/en-us/download/confirmation.aspx?id=53344
下載好直接雙擊,一路next
2)安裝CUDA9.0
下載見:https://www.jianshu.com/p/c73668544925
安裝默認路徑就好,一路下一步,如果提示兼容性不兼容請無視,安裝模式選擇精簡,下一步勾選下圖中的上方紅色方框標注處,然后NEXT按鈕會亮起。
點擊下圖中的下方紅色箭頭標注處中的NEXT按鈕,進入下一步。
注意: 對應的顯卡驅動,如果驅動較新,在安裝CUDA的時候會有提示可能不兼容,可以無視。
接下來就等待安裝就好,結束界面中兩個可選項不用勾選。
點擊下圖中的下方紅色箭頭標注處中的關閉,安裝CUDA9.0結束。。
3)安裝cudnn7.3
下載見:https://www.jianshu.com/p/4ebaa78e0233
下載后解壓,將文件夾cuda中有3個文件夾:bin、include、lib,和1個文件NVIDIA_SLA_cuDNN_Support.txt復制粘貼到CUDA安裝路徑下
本文作者的CUDA安裝路徑:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0
4)安裝tensorflow_gpu
第一種方法
下載見:https://www.jianshu.com/p/4ebaa78e0233
運行pip install命令安裝本地WHL文件
在放tensorflow_gpu-1.10.0-cp36-cp36m-win_amd64.whl的文件夾打開cmd,在cmd中輸入命令:pip install tensorflow_gpu-1.10.0-cp36-cp36m-win_amd64.whl
,然后按Enter鍵運行命令。
最后出現Successfully開頭即為成功。
第二種方法:
Tensorflow有CPU版本與GPU版本,首先安裝CPU版本。采用pip原生安裝。“開始-Anaconda3-Anaconda Prompt”調出命令行。
pip install --upgrade tensorflow然后安裝GPU版本。此過程中有報錯,
先運行conda install pip更新pip程序即可。
pip install --upgrade tensorflow-gpu
運行pip install命令安裝msgpack庫
考慮到部分讀者可能沒有安裝運行tensorflow必需的msgpack庫。
在cmd中輸入命令:pip install msgpack
,然后按Enter鍵運行命令。
二.測試自帶案例
1.安裝object detection API環境
1、下載TensorFlow object detection API
https://github.com/tensorflow/models
我們需要的目標檢測在model文件夾下的research文件夾里
也可以直接訪問:
https://github.com/tensorflow/models/tree/master/research/object_detection
下載代碼庫
在models代碼庫的界面中,有下載整個代碼庫的按鈕,如下圖紅色箭頭標注處所示:

下載到本地目錄(避免中文),解壓。
2.下載Protobuf
目的是將proto文件轉成py文件
下載Protobuf網址: https://github.com/google/protobuf/releases
下載Protobuf網址頁面如下圖所示,下圖中紅色箭頭標注處是Protobuf在操作系統Windows中可以直接運行的protoc程序,下載該壓縮文件
protoc-3.4.1-win32.zip
。
將壓縮文件
protoc-3.4.1-win32.zip解壓后的bin文件夾protoc.exe復制到路徑:C:\\Windows
將object_detection\protos文件夾下的.proto文件轉成.py
可以看到有很多proto文件
第一種方法
用這段代碼將object_detection\protos文件夾下的.proto文件轉成.py,只需將E:\目標檢測\models-master\research\object_detection\protos/改成你的文件路徑
1 import os 2 file_list = os.listdir(r'E:\目標檢測\models-master\research\object_detection\protos/') 3 proto_list = [file for file in file_list if '.proto' in file] 4 print('object_detection/proto文件夾中共有%d個proto文件' %len(proto_list)) 5 for proto in proto_list: 6 execute_command = 'protoc object_detection/protos/%s --python_out=.' %proto 7 os.popen(execute_command) 8 file_list = os.listdir(r'E:\目標檢測\models-master\research\object_detection\protos/') 9 py_list = [file for file in file_list if '.py' in file] 10 print('通過protoc命令產生的py文件共有%d個' %(len(py_list) - 1))
結果是:
object_detection/proto文件夾中共有29個proto文件
通過protoc命令產生的py文件共有29個
就是修改成功,你可以進入protos文件夾查看每個proto文件下都有一個對應的py文件。
第二種方法:
protoc object_detection/protos/*.proto --python_out=.
在這一步有時候會出錯,可以嘗試把/*.proto 這部分改成文件夾下具體的文件名,一個一個試,每運行一個,文件夾下應該
出現對應的.py結尾的文件。不報錯即可。
3、PYTHONPATH 環境變量設置
在 ‘此電腦’-‘屬性’- ‘高級系統設置’ -‘環境變量’-‘系統變量’ 中新建名為‘PYTHONPATH’的變量,將
models/research/ 及 models/research/slim 兩個文件夾的完整目錄添加,分號隔開。
接下來可以測試API,在 models/research/ 文件夾下運行命令行:
python object_detection/builders/model_builder_test.p
不報錯說明運行成功。
4.測試自帶案例
“開始-Anaconda3-Anaconda Prompt”調出命令行,改變工作目錄至 models\research\object_detection
然后輸入jupyter notebook,就會調用瀏覽器打開當前文件夾,點開 object_detection_tutorial.ipynb,
在新標簽頁中打開 Object Detection Demo,點擊上方的 “Cell”-"Run All",
就可以直接看到結果,最后輸出的是兩張圖片的識別結果,分別是狗,以及沙灘。第一次運行由於需要下載訓練好的模型,耗時較長。第二次之后可以將 .ipynb文件中 Download Model 即 in[5]部分的代碼注釋掉,以加快運行速度。

如果在notebook中運行有問題,可以將.ipynb中in[]的代碼復制到.py中,然后在 開始-Anaconda3-spyder 中運行。
至此Tensorflow object detection API 的環境搭建與測試工作完成。