caffe機器學習自帶圖片分類器classify.py實現輸出預測結果的機率及caffe的web_demo例子運行實例 機器學習caffe環境搭建——redhat7.1和caffe的python接口編

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

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

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

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

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

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

[root@localhost python]# vim classify.py

 3.png

修改以後執行是能夠了,可是結果不會輸出到屏幕上,並且結果的保存文件result.npy的內容也是不可讀的,運行結果以下:vim

4.png 

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

caffe-接口.png 

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

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

 輸出以下:機器學習

1231.png 

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

 

2.運行caffe自帶的例子web_demo

  在目錄/code/caffe/exampes下,有不少caffe給的例子,這裏以web_demo下的例子爲例,這個例子實現的是一個圖片分類器的功能,好比你上傳一張貓的圖片,程序會給出整張圖片是貓的可能性,或者是狗的可能性等等。學習

 首先,經過閱讀/code/caffe/exampes/web_demo/下的readme.me文件(建議都看一下該文件),能夠知道須要先下載各類依賴,及須要的數據資源,以下:ui

 

[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有個基本的瞭解了,繼續深刻學習吧。

相關文章
相關標籤/搜索