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 #其中第一個參數是傳入一張圖片,第二個是計算結果的保存文件
運行結果是這樣的,
均值有問題,/code/caffe/python/classify.py文件,第95行左右,修改如下,
[root@localhost python]# vim classify.py
修改之后執行是可以了,但是結果不會輸出到屏幕上,而且結果的保存文件result.npy的內容也是不可讀的,運行結果如下:
他只告訴說計算結果保存在result.npy(該文件也是在,/code/caffe/python/目錄下),但是當你去讀的時候發現是一堆亂碼。於是,再次編輯/code/caffe/python/classify.py文件,把結果直接打印到屏幕上:
添加的內容就是兩行####之間的內容。即:131~138行。修改之后再次運行:
[root@localhost python]# python classify.py /root/Desktop/pic/banma.jpg result.npy #其中第一個參數是傳入一張圖片,第二個是計算結果的保存文件
輸出如下:
我傳入的是一張斑馬的圖片,分類的結果是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就會看到如下頁面
可以看到caffe提供3種方法來驗證該分類器,點擊“Click for a Quick Example”,這個是caffe源碼里自帶的幾張貓的圖片,也可以添加一張圖片的URL,甚至可以本地上傳一張圖片讓caffe去識別,我上傳一張斑馬圖片識別結果如下:
至此,對caffe有個基本的了解了,繼續深入學習吧。