windows+tensorflow object detection api 深度學習目標檢測實踐
1、在github上下載tensorflow/model專案
1. 首先把protoc-win32資料夾下面的protoc.exe移至protobuf-python/src目錄下。
2. 在cmd中進入protobuf-python/python目錄,先執行activate tensorflow進入tensorflow環境嗎,依次執行 python setup.py build和python setup.py test 和python setup.py install 。
3. 把protoc.exe所在的目錄新增至環境變數。 通過執行 protoc --version驗證設定環境變數是否成功。
編譯proto檔案:
、這裡會報錯。
Object_detection/protos/*.proto: No such file or directory,
單個編譯的話又有好多檔案相互關聯,編譯不成功,嘗試多次後發現在models資料夾下使用 shift+右鍵 的Windows powershell中使用以下命令可以全部編譯:
Get-ChildItem object_detection/protos/*.proto |Resolve-Path -Relative | %{protoc $_ --python_out=.}
另外即使下載的不是3.5、3.6版本,不報這個錯,windows 下的命令應該是
接下來將research資料夾和research裡面的slim資料夾的地址加入環境變數PYTHONPATH中,可以使用命令
import os
print(os.sys.path)檢視pythonpath的值
在python預設的第三方庫安裝路徑中,(對於只安裝了Anaconda的人來說是\Anaconda3\Lib\site-packages,安裝官方發行版本也在類似的目錄中)新建一個path.pth檔案,在裡面寫上你tensorflow安裝的位置(位置可以用pip show tensorflow檢視)
D:\Anaconda3\envs\tensorflow\Lib\site-packages#寫你自己的絕對路徑,這裡以安裝Anaconda為例
5.配置路徑2:
再次啟動jupyter notebook測試import tf,如果成功恭喜你了,本貼結束。如果這時候只是錯誤變了,變為ImportError: cannot import name 'weakref',那麼請在tensorflow的的安裝位置中找到名為的tf_should_use.py檔案,將第28行的from backports import weakref替換為import weakref
再次開啟notebook測試,至此,大功告成!
-
以上算是Anaconda安裝好了TensorFlow,但要想在Jupyter notebook上使用,還沒完。
接著安裝ipython,安裝jupyter。(tensorflow)D:\>conda install ipython ··· (tensorflow)D:\>conda install jupyter ···
- 1
- 2
- 3
- 4
沒錯就是這裡… 建立tensorflow這個conda環境時不設定python版本的話,因為Anaconda內建的python版本是3.6,安裝ipython時就會有這一項,並且所有包都基於py36:
於是這個專門為TF服務的conda環境內的python就被更新成了3.6,於是我們前兩步剛裝好的TF就不能用了,於是只能把這個環境刪掉重來… -
輸入這個:
(tensorflow)D:\>ipython kernelspec install-self --user
- 1
看到類似這個結果
Installed kernelspec python3 in C:\Users\XXX\Jupyter\kernels\python3
- 1
然後再去 jupyter notebook 新建一個檔案,試試 import tensorflow as tf,這時應該就可以用啦。
- --------------------- 本文來自 Joy_Shen 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/index20001/article/details/73555182?utm_source=copy