caffe機器學習自帶圖片分類器classify.py實現輸出預測結果的概率及caffe的web_demo例子運行實例


caffe機器學習環境搭建及python接口編譯參見我的上一篇博客:機器學習caffe環境搭建——redhat7.1和caffe的python接口編譯

1.運行caffe圖片分類器python接口

 還是假設caffe的源碼下載的路徑為:/code,那么有這么個文件/code/caffe/python/classify.py,它是caffe團隊提供的一個python實現的圖片分類器的接口。運行該接口有兩個必須參數,一個是你要操作的圖片,另一個就是保存運行結果的文件。但是該接口需要簡單修改才能運行,你不做任何修改的情況下運行的結果是這樣的:

執行:
[root@localhost python]# python classify.py /root/Desktop/pic/banma.jpg result.npy #其中第一個參數是傳入一張圖片,第二個是計算結果的保存文件

 運行結果是這樣的,
2.png

均值有問題,/code/caffe/python/classify.py文件,第95行左右,修改如下,

[root@localhost python]# vim classify.py

 3.png

修改之后執行是可以了,但是結果不會輸出到屏幕上,而且結果的保存文件result.npy的內容也是不可讀的,運行結果如下:

4.png 

他只告訴說計算結果保存在result.npy(該文件也是在,/code/caffe/python/目錄下),但是當你去讀的時候發現是一堆亂碼。於是,再次編輯/code/caffe/python/classify.py文件,把結果直接打印到屏幕上:

caffe-接口.png 

添加的內容就是兩行####之間的內容。即:131~138行。修改之后再次運行:

[root@localhost python]# python classify.py /root/Desktop/pic/banma.jpg result.npy #其中第一個參數是傳入一張圖片,第二個是計算結果的保存文件

 輸出如下:

1231.png 

我傳入的是一張斑馬的圖片,分類的結果是0.99501的概率是zebra,默認輸出是概率最大的前五個,可以自定義。

 

2.運行caffe自帶的例子web_demo

  在目錄/code/caffe/exampes下,有很多caffe給的例子,這里以web_demo下的例子為例,這個例子實現的是一個圖片分類器的功能,比如你上傳一張貓的圖片,程序會給出整張圖片是貓的可能性,或者是狗的可能性等等。

 首先,通過閱讀/code/caffe/exampes/web_demo/下的readme.me文件(建議都看一下該文件),可以知道需要先下載各種依賴,及需要的數據資源,如下:

 

[root@localhost ~]# cd /code/caffe
[root@localhost caffe]# pip install -r examples/web_demo/requirements.txt
[root@localhost caffe]# ./data/ilsvrc12/get_ilsvrc_aux.sh
[root@localhost caffe]# ./scripts/download_model_binary.py models/bvlc_reference_caffenet  #這個下載的最慢,40+分鍾

 

全部下載完成后就可以運行了 

[root@localhost ~]# python examples/web_demo/app.py

 通過readme。md文件我們知道服務監聽5000端口,打開瀏覽器輸入:localhost:5000就會看到如下頁面

  QQ截圖20170103093355.png

可以看到caffe提供3種方法來驗證該分類器,點擊“Click for a Quick Example”,這個是caffe源碼里自帶的幾張貓的圖片,也可以添加一張圖片的URL,甚至可以本地上傳一張圖片讓caffe去識別,我上傳一張斑馬圖片識別結果如下:

123.png 

至此,對caffe有個基本的了解了,繼續深入學習吧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM