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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

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

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

工具介紹:

一、python3.7.6

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

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

3.安裝python3.7.6,設(shè)置環(huán)境變量,如下圖紅色框內(nèi)設(shè)置python的環(huán)境變量

二、安裝imageai工具依賴包可參見官網(wǎng),如下圖

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

? ??

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

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

? ? 2.安裝tensorflow,這個地方有個坑,官網(wǎng)也沒有地方講用tensorflow什么版本的,只是說1.4以后,結(jié)果裝了2.0版本以后發(fā)現(xiàn)用不了,最后在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版本,這樣訓(xùn)練的速度至少提高好幾倍(貌似都不止),后面需要將安裝顯卡驅(qū)動,需要下載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.如果參照文章開頭的博文你會發(fā)現(xiàn)很多坑,根本無法正常運行五行代碼,缺少很多dll庫等,這里給個鏈接,可以參考文章進(jìn)行安裝:https://github.com/tensorflow/tensorflow/issues/36111

? ? 2.tensorflow官網(wǎng)的gpu相關(guān)說明鏈接:https://www.tensorflow.org/install/gpu

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

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

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

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

四、下載訓(xùn)練數(shù)據(jù)集

? ? 1.點擊github鏈接內(nèi)的release進(jìn)行下載

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

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

五、上五行代碼

? ? 1.在解壓后的訓(xùn)練集目錄內(nèi)新建一個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文件,如下圖:

正在訓(xùn)練了。。。

六、訓(xùn)練完成后,使用訓(xùn)練結(jié)果來進(jìn)行測試

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

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

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

? ? 第六行代碼:使用models目錄內(nèi)準(zhǔn)確率最高的h5文件

? ? 第七行代碼:json文件為訓(xùn)練的職業(yè)類型,這個在第五大步中會自動創(chuàng)建

? ? 第九行代碼:加載下載的圖片,我下載的圖片命名為“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

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

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

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。