問題背景:就是試試Google大佬公開的API。
(突然發現草稿箱裏還有一年前沒發出去的文章。。。)
本文參考鏈接:
1.https://blog.csdn.net/RobinTomps/article/details/78115628?locationNum=5&fps=1#commentsedit
2.https://www.jianshu.com/p/21bae50b6e0d
3.https://blog.csdn.net/zlase/article/details/78734138
4.https://blog.csdn.net/weixin_35654926/article/details/75578324
#一、安裝配置好Anaconda及tensorflow
這個在前面的博文有說的啦,就不贅述。
我的Python是3.5,tensorflow是1.3的。
#二、安裝相關庫
需要安裝的庫有:pillow, jupyter, matplotlib, lxml。沒有版本要求。
你可以conda install,也可以在navigator裏裝,我選後者~
#三、下載TensorFlow-master源碼
鏈接是 https://github.com/tensorflow/models
(注:最好不要在C盤下使用,可能存在各種權限問題)
#四、編譯Protobuf,生成py文件
這裏有一丟丟麻煩。
首先,下載protoc-3.4.0-win32.zip ,官方鏈接是:
https://github.com/google/protobuf/releases
但我沒用3.5的,因爲新版本往往都有問題哈哈哈
下載好後,解壓,隨意放到一個目錄下。把bin文件夾所在目錄加入到環境變量PATH中。
然後,打開CMD,輸入protoc,提示“missing input file”,可以進行下一步,否則檢查以上步驟。
接着,用cd進入到你下載的tensorflow-master源碼文件夾model_master中的research文件夾下,執行命令
protoc object_detection/protos/*.proto --python_out=.
生成py文件:
編譯成功!
然後執行命令:
python object_detection/builders/model_builder_test.py
這時,我就遇到了2個問題。
1)no module named "google"
解決辦法:下載protobuf庫,也是3.4.0版本的。
這個搞定了,又碰到一個問題。
2)no module named "object_detection"
解決辦法:在你所在的環境下,也就是Anaconda\env中,找到你用的環境,然後在lib\site-packages 這個文件夾目錄下,寫一個tensorflow_model.pth文件,內容如下:
保存一下就好啦。
再重新執行一下上面的命令。下圖是我操作過程中的截圖。
#五、測試API
cd進入model_master文件夾下,輸入命令:
jupyter-notebook
會打開你的瀏覽器,出現一個頁面。
在這個頁面中,順着research\object_detection找到裏邊的object_detection_tutorial.ipynb,運行。就會出現另外一個界面:
按圖片上“下箭頭”右邊的按鍵,程序就一步步往下執行。運行到最低端的時候,等待一會,就會出現運行結果,如下所示:
測試成功~~
後面,再講講怎麼換模型、換數據集、換測試圖片啥的。