如何在windows系统上安装Tensorflow Object Detection API?
前言
都說(shuō)Linux是最適合程序員使用的操作系統(tǒng),這話還真不假。
之前一直在云服務(wù)器上跑代碼,近期接手了師兄的臺(tái)式機(jī)(GTX 1050),雖然配置很渣,但想在本地玩玩看,于是乎先安裝一波Tensorflow Object Detection API。
之前云服上配置的時(shí)候十分順利,可是到了windows下很容易進(jìn)坑,這里簡(jiǎn)單整理下踩坑后的總結(jié)。
目錄
大致的安裝步驟其實(shí)差不多,只是在些細(xì)節(jié)上會(huì)遇到坑,在這些坑上注意避免即可。
從GitHub下載官方的存儲(chǔ)庫(kù)
依賴庫(kù)的安裝
用protobuf解析API中的一些文件
測(cè)試API是否安裝成功
運(yùn)行官方教程中的代碼查看效果
具體操作
不談基本依賴庫(kù)和框架版本的教程就是耍流氓!
相信在各種博客上查找教程的小伙伴們一定有這種感覺吧。所以先說(shuō)下自己的版本情況:
Tensorflow-gpu-1.10.0
cuda9
cuDNN7
Python3.6.8
Protobuf3.7.1
從GitHub下載官方存儲(chǔ)庫(kù)
官方github網(wǎng)站鏈接為:
https://github.com/tensorflow/models
在本地建立文件夾用于存儲(chǔ)(這個(gè)自定義即可),然后將官方存儲(chǔ)庫(kù)下載到本地,至于是下載壓縮包還是直接git取決于個(gè)人喜好就好。下圖即為小詹的本地截圖。
依賴庫(kù)的安裝
想運(yùn)行官方教程,需要的第三方庫(kù)有:pillow、lxml、Cython、jupyter、matplotlib、pandas等,如果使用anoconda安裝的Python,大多數(shù)第三方庫(kù)已經(jīng)有啦。缺少第三方庫(kù)的直接pip install就好了。
另外就是安裝TensorFlow,CUDA,cuDNN了,這里主要是注意版本對(duì)應(yīng)關(guān)系,其他的問題應(yīng)該不大。
用protobuf解析API中的一些文件
官方API需要使用一些proto文件,這里需要用protobuf將其轉(zhuǎn)換為Python的可運(yùn)行代碼格式。這些文件放置在官方庫(kù)的research\object_detection\protos路徑下。
這里需要使用protobuf將其轉(zhuǎn)換格式,官方給的轉(zhuǎn)換執(zhí)行語(yǔ)句是:
protoc?object_detection/protos/*.proto?--python_out=.
這里就涉及到protoc到版本了,如前面所述,小詹下載TensorFlow-gpu1.10.0點(diǎn)時(shí)候自帶了protobuf3.7.1。直接執(zhí)行這語(yǔ)句會(huì)提示:No such file.
是一個(gè)小坑了,查閱到官方的issue,有前輩們說(shuō)說(shuō)版本小bug,不支持正則查找。有兩種方法,小詹親測(cè)有效。
方法一:去官網(wǎng)查找下載使用protoc3.4.0版本,官方地址:https://github.com/protocolbuffers/protobuf/releases
方法二:不支持正則,可以考慮一個(gè)個(gè)proto文件進(jìn)行處理轉(zhuǎn)換,這個(gè)在量不大的時(shí)候可以這么做。小詹這里把逐個(gè)進(jìn)行轉(zhuǎn)換命令語(yǔ)句放置在下面,如果你需要可以復(fù)制粘貼即可。
經(jīng)過小坑,選擇解決方法后應(yīng)該就處理完所有的proto文件,轉(zhuǎn)換成啦對(duì)應(yīng)的py文件。
測(cè)試API是否安裝成功
測(cè)試API是否安裝成功可以在research路徑下執(zhí)行下列語(yǔ)句:
python?object_detection/builders/model_builder_test.py這里肯定是不行的,因?yàn)檫€沒有將必要的路徑加入PYTHON環(huán)境中。會(huì)出現(xiàn)各種報(bào)錯(cuò),諸如不能導(dǎo)入****pb之類的或者導(dǎo)入錯(cuò)誤之類的。
網(wǎng)上教程有的說(shuō)要先在Anaconda\Lib\site-packages ?文件夾下新建一個(gè)txt文件,輸入對(duì)應(yīng)路徑后改名tensorflow_model.pth的,也有其他說(shuō)法的。
小詹最后親測(cè)有效的是直接添加設(shè)置即可。將\models;\models\research;\models\research\slim;三個(gè)路徑加入pythonpath中,代碼執(zhí)行如下:(注意前方路徑要換成你自己的)
set?PYTHONPATH=E:\Jan_Project\tf_models;E:\Jan_Project\tf_models\research;E:\Jan_Project\tf_models\research\slim設(shè)置后再次執(zhí)行測(cè)試語(yǔ)句沒有報(bào)錯(cuò),表示設(shè)置完成。
運(yùn)行官方教程中的代碼查看效果
官方的目標(biāo)檢測(cè)教程路徑在第一步git到本地的文件中,路徑為:
models/research/object_detection/object_detection_tutorial.ipynb
可以中jupyter中打開運(yùn)行,成功執(zhí)行結(jié)果如下圖。
以上就是中windows系統(tǒng)安裝Tensorflow Object Detection API的過程。注意版本問題和環(huán)境問題即可。
祝好!
推薦閱讀:
動(dòng)態(tài)規(guī)劃問題學(xué)習(xí)筆記!
總結(jié)
以上是生活随笔為你收集整理的如何在windows系统上安装Tensorflow Object Detection API?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为程序员面试要改:网上编程 90 分钟
- 下一篇: 如何在Windows系统上使用Objec