您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關如何使用ModelArts的自動學習識別毒蘑菇分類,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
想當年,白雪公主吃了毒蘑菇,換來了白馬王子的一吻。如果白雪公主沒有吃毒蘑菇,還會遇到白馬王子嗎?張小白覺得不見得——說不定她會遇到張小白。張小白給她AI MindSpore Lite推理了一下,她就不會中毒,也就會鐘情于張小白的AI的神奇,也就不會移情給白馬王子了。
為了早日給白雪公主安利一下毒蘑菇的知識點,張小白今天就寫下了這篇通過ModelArts自動學習進行毒蘑菇分類的文字,希望白雪公主能夠看到,并關注點個贊什么的。
ModelArts的自動學習功能也就幾步:
(1)準備毒蘑菇數據集
(2)創建自動學習項目,進行數據標注
(3)對數據集進行模型訓練
(4)將訓練好的模型部署上線
(5)測試已部署上線的服務,進行蘑菇圖片的推理。
先來創建數據集:首先把毒蘑菇的數據集準備好,點擊以下鏈接下載zip包:
https://ascend-tutorials.obs.cn-north-4.myhuaweicloud.com/resnet-50/demo/ResNet-50%E8%BF%9B%E9%98%B6%E4%BD%9C%E4%B8%9A%E4%B8%80%E9%94%AE%E4%B8%8B%E8%BD%BD%E5%8C%85.zip
文件有951M,耐心下載。下載完畢后將其解壓,
打開mushrooms/train文件夾,下面存放了毒蘑菇圖片的9個分類。
將這些圖片(帶目錄)上傳到自己的OBS桶中。
張小白上傳的OBS路徑為是obs://mindspore-21day-tutorials/resnet-50-2/mushrooms/train/
然后,新建一個dataset-dumogu數據集:
由于OBS里面是按照目錄分類的,可以先導入第一個目錄,如上圖所示。
輸入:/mindspore-21day-tutorials/resnet-50-2/mushrooms/train/Agaricus/
輸出:/mindspore-21day-tutorials/resnet-50-2/output-mindspore/
創建后,可以先將目前導入的圖片全部標注為Agaricus。
標注完這一類之后,可以在這個數據集上面點擊”導入“
填入第二個分類的OBS位置:
點擊確定。
系統會進行該目錄數據集的導入任務。
導入完畢,可以當看到 已標注的個數和整個數據集的數量:
本次導入的圖片(數據集)會是未標注狀態:
此時可將點擊圖片下方每頁顯示的最大數量跳到最大(目前是60),然后再選擇”選擇當前頁“.
并在標簽名中輸入這類未標注的圖片的標簽,如Suillus,點擊確認。
可看到未標注的數量在減少,而已標注為Suillus的圖片數量在增加:
如此反復標注 未標注的圖片,直到未標注的圖片全部標注完畢,然后再進行其他目錄(其他類別)的數據集的導入和標注。如此反復,直到標注完全結束。
(這確實是一個體力活,人稱”數據標注工程師“。)
好了,我們的數據集就準備好了。
在標注完之后,ModelArts會在 前面設置的輸出目錄下生成以下目錄:
這之下又有5個目錄:
其中annotation目錄是標注文件目錄,里面內容為:
V002.manifest。
打開后,具體內容如下:
{"annotation":[{"name":"Cortinarius","type":"modelarts/image_classification","creation-time":"2020-11-11 11:07:34","annotated-by":"human/zhanghui_china/zhanghui_china"}],"usage":"train","source":"s3://mindspore-21day-tutorials/resnet-50-2/mushrooms/train/Agaricus/import_1605064037231/219_m7t5mnXvmsw.jpg","id":"0008324d2a2933fa17ef490e8413edc1","sample-type":0}
其中將圖片和類別的關系標注在JSON中。
第二步,我們來建立一個自動學習的任務。
打開自動學習菜單。
點擊創建項目,輸入名稱: exeML-dumogu,選擇”已有數據集“并選中剛才創建的dataset-dumogu數據集。
然后打開建好的項目exeML-dumogu,點擊右邊紅色的開始訓練:
系統彈出以下菜單,輸入訓練驗證比例未0.8,0.2,確定后開始模型訓練。
確認配置后提交,
系統就開始進行模型訓練:
訓練完畢后,會提示精確率,準確率,召回率等值,關鍵看準確率吧——94%,還可以。
點擊上圖的部署按鈕們開始進行部署。
下一步:
點擊提交后,
耐心等待,也可以在”部署上線“-”在線服務“菜單看到部署的進度。
部署完畢后,出現以下畫面:
可以點擊”上傳“,上傳一些待預測的圖片。
比如上圖,55%的機率是Agaricus...
我們上傳一個真的Agaricus
得分1.0. 完全準確。
以上都是從數據集里面直接拿的圖片,得分不是1.00就是0.99,飛常準。
張小白再從網上找一些毒蘑菇的圖片:
這就有高有低了。
再找幾張可以吃的,如金針菇和香菇:
好,我們回過頭來看看這9個分類的具體含義:
label_list = ["Agaricus雙孢蘑菇,傘菌目,蘑菇科,蘑菇屬,廣泛分布于北半球溫帶,無毒", "Amanita毒蠅傘,傘菌目,鵝膏菌科,鵝膏菌屬,主要分布于我國黑龍江、吉林、四川、西藏、云南等地,有毒", "Boletus麗柄牛肝菌,傘菌目,牛肝菌科,牛肝菌屬,分布于云南、陜西、甘肅、西藏等地,有毒", "Cortinarius擲絲膜菌,傘菌目,絲膜菌科,絲膜菌屬,分布于湖南等地(夏秋季在山毛等闊葉林地上生長)", "Entoloma霍氏粉褶菌,傘菌目,粉褶菌科,粉褶菌屬,主要分布于新西蘭北島和南島西部,有毒", "Hygrocybe淺黃褐濕傘,傘菌目,蠟傘科,濕傘屬,分布于香港(見于松仔園),有毒", "Lactarius松乳菇,紅菇目,紅菇科,乳菇屬,廣泛分布于亞熱帶松林地,無毒", "Russula褪色紅菇,傘菌目,紅菇科,紅菇屬,分布于河北、吉林、四川、江蘇、西藏等地,無毒", "Suillus乳牛肝菌,牛肝菌目,乳牛肝菌科,乳牛肝菌屬,分布于吉林、遼寧、山西、安徽、江西、浙江、湖南、四川、貴州等地,無毒", ]
自己找的幾個毒蘑菇圖片,分別被識別為:
Russula,無毒 Amanita,有毒 Lactarius,無毒 Amanita,有毒 Hygrocybe,有毒 Amanita,有毒 Lactarius,無毒---------白雪公主的中毒率為 3/7.
而張小白找的那2張食用菇的圖片,分別被識別為:
Lactarius,無毒 Lactarius,無毒---------白雪公主吃到美食的概率是 100%。
看來,7個小矮人還是有必要出現的,至少可以幫白雪公主試7次毒。
至于在實戰營得到的一個關鍵知識,也需要在這里強調下:ResNet卷積神經網絡,肯定會給一張并沒有分類的圖片搞個分類的,即便它不屬于任何分類,也會強分一下,只不過得分會稍微低一點,比如0.5,0.6,0.7之類的。這個并不是這個網絡的無能,而是在深度學習這塊,現在就只能到這里了。
所以,張小白認為,如果在得分特別低的情況下,咱就暫且在應用上不將其歸類就是了。(或者寫上得分,讓別人看到,反正真的不是也是個概率問題,也不能怪ResNet。說了這些,張小白感覺這個好像天氣預報的概率指數啊。)
上述就是小編為大家分享的如何使用ModelArts的自動學習識別毒蘑菇分類了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。