日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

五行代码实现图像识别(深入版)

發布時間:2024/1/8 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 五行代码实现图像识别(深入版) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? 網上一篇五行代碼實現圖像識別的博文(先頂一下,但是坑很多):https://blog.csdn.net/yidunmarket/article/details/84946784

? ? 新手參照上一篇博文用imageai來實現圖像識別的話一次性的成功率非常低,需要踩的坑非常多,本篇文章主要教大家如何搭建imageai的訓練環境,基本可以一次性通過,至于五行代碼實現圖像識別就是噱頭,當然文章最后還是用了文章的五行代碼^_^!

工具介紹:

一、python3.7.6

? ? 1.下載地址:https://www.python.org/downloads/

? ? 2.下拉到最下面看到Files,圖下圖點擊下載即可

3.安裝python3.7.6,設置環境變量,如下圖紅色框內設置python的環境變量

二、安裝imageai工具依賴包可參見官網,如下圖

? ? 鏈接:https://imageai-cn.readthedocs.io/zh_CN/latest/ImageAI.html#

? ??

? ? 1.用pip工具安裝依賴之前,國內的用戶最好使用國內鏡像

? ? 參考鏈接如下:https://blog.csdn.net/cumtwys/article/details/104204102

? ? 2.安裝tensorflow,這個地方有個坑,官網也沒有地方講用tensorflow什么版本的,只是說1.4以后,結果裝了2.0版本以后發現用不了,最后在github上看到了目前imageai還不支持tensorflow2,這里通過pip指定tensorflow版本是1.15.2

pip install tensorflow==1.15.2 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

? ? 如果你的測試電腦的顯卡比較好,我的是GTX1070TI,則可以下載tensorflow-gpu版本,這樣訓練的速度至少提高好幾倍(貌似都不止),后面需要將安裝顯卡驅動,需要下載cuda toolkit還有cunnsdk等,在下面有講到。

pip install tensorflow-gpu==1.15.2 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

? ? 3.安裝numpy

pip install numpy -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

? ? 4.安裝Scipy

pip install scipy -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

? ? 5.安裝opencv-python

pip install opencv-python -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

? ? 6.安裝pillow(python下的圖形庫,用途很廣泛)

pip install pillow -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

? ? 7.安裝matplotlib

pip install matplotlib -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

? ? 8.安裝h5py

pip install h5py -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

? ? 9.安裝keras

pip install keras -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

? ? 10.最后安裝imageai

? ? github地址:https://github.com/OlafenwaMoses/ImageAI

? ? 點擊release,如下圖

? ?使用pip3安裝imageai,命令如下:

pip3 install https://github.com/OlafenwaMoses/ImageAI/releases/download/2.1.0/imageai-2.1.0-py3-none-any.whl -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

三、安裝tensorflow的依賴

? ? 1.如果參照文章開頭的博文你會發現很多坑,根本無法正常運行五行代碼,缺少很多dll庫等,這里給個鏈接,可以參考文章進行安裝:https://github.com/tensorflow/tensorflow/issues/36111

? ? 2.tensorflow官網的gpu相關說明鏈接:https://www.tensorflow.org/install/gpu

? ? 3.如果前兩步不想看英文可以直接參照下圖下載相關軟件即可,紅框內TensorRT可選的我沒有安裝:

? ? 4.更新驅動、安裝cuda toolkit之后需要重啟電腦(這個地方也是個坑,否則訓練過程中老是死掉),切記!!!

? ? 5.傳送門,已經下載好的cuda toolkit好幾個版本:

? ? ? 鏈接:https://pan.baidu.com/s/1kDL7Xz2XS3Hy5xJHZ5dpkg?
? ? ? 提取碼:hs93

四、下載訓練數據集

? ? 1.點擊github鏈接內的release進行下載

? ? 鏈接:https://github.com/OlafenwaMoses/IdenProf

? ? 2.下載完解壓后文件目錄如下圖:

五、上五行代碼

? ? 1.在解壓后的訓練集目錄內新建一個py文件,代碼如下:

from imageai.Prediction.Custom import ModelTraining model_trainer = ModelTraining() model_trainer.setModelTypeAsResNet() model_trainer.setDataDirectory("idenprof") model_trainer.trainModel(num_objects=10, num_experiments=200, enhance_data=True, batch_size=32, show_network_summary=True)

? ? 2.在終端運行py文件,如下圖:

正在訓練了。。。

六、訓練完成后,使用訓練結果來進行測試

? ? 1.訓練完成在models目錄下:(model_ex-XXX_acc-YYY,XXX是訓練批次,YYY是本批次的測試準確率)

? ? 2.從百度隨便下載圖片來進行測試,我下載了“醫生”,如下圖中紅色框框框住的卡通醫生,來試試準確率

? ? 3.上代碼進行測試(準備一個空的python文件,將從百度下載的測試圖片放到該文件的同級目錄下,也可以隨便放但是python需要能找到該文件),用編輯器把如下代碼寫入python文件內,注意里面涉及到的目錄都是使用相對路徑

? ? 第六行代碼:使用models目錄內準確率最高的h5文件

? ? 第七行代碼:json文件為訓練的職業類型,這個在第五大步中會自動創建

? ? 第九行代碼:加載下載的圖片,我下載的圖片命名為“dt.jpg”

from imageai.Prediction.Custom import CustomImagePrediction import osexecution_path = os.getcwd()prediction = CustomImagePrediction() prediction.setModelTypeAsResNet() prediction.setModelPath("./idenprof/models/model_ex-148_acc-0.858871.h5") prediction.setJsonPath("./idenprof/json/model_class.json") prediction.loadModel(num_objects=10)predictions, probabilities = prediction.predictImage("./dt.jpg", result_count=3)for eachPrediction, eachProbability in zip(predictions, probabilities):print(eachPrediction , " : " , eachProbability)

? ? 4.在終端運行python文件

python confirm.py

? ? 驗證的結果如下:doctor為100%,準確率還是蠻高的O(∩_∩)O哈哈~!!!

七、如有疑問請指正!!!

總結

以上是生活随笔為你收集整理的五行代码实现图像识别(深入版)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。