一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - 人工智能學(xué)習(xí)pyTorch自建數(shù)據(jù)集及可視化結(jié)果實現(xiàn)過程

人工智能學(xué)習(xí)pyTorch自建數(shù)據(jù)集及可視化結(jié)果實現(xiàn)過程

2022-02-28 00:07Swayzzu Python

這篇文章主要為大家介紹了人工智能學(xué)習(xí)pyTorch自建數(shù)據(jù)集及可視化結(jié)果的實現(xiàn)過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助

一、自定義數(shù)據(jù)集

現(xiàn)有數(shù)據(jù)如下:

5個文件夾,每個文件夾是神奇寶貝的一種。

人工智能學(xué)習(xí)pyTorch自建數(shù)據(jù)集及可視化結(jié)果實現(xiàn)過程

每個圖片形狀、大小、格式不一。

人工智能學(xué)習(xí)pyTorch自建數(shù)據(jù)集及可視化結(jié)果實現(xiàn)過程

我們訓(xùn)練CNN的時候需要的是tensor類型的數(shù)據(jù),因此需要將所有的圖片進(jìn)行下列轉(zhuǎn)換:

1.對文件夾編號,進(jìn)行映射,比如妙蛙種子文件夾編號0,皮卡丘編號1等。

2.對文件夾中所有圖片,進(jìn)行編號的對應(yīng),這個就是標(biāo)簽。并保存為一個csv文件。

3.圖片信息獲取:分為train,val,test

4.處理圖片,使其成為torch可以處理的類型

1.文件夾映射

前半部分為文件夾的映射。我們希望傳入數(shù)據(jù)的時候直接傳入文件夾的名字,而文件夾所在的路徑就是py文件所在的路徑,因此這樣可以直接讀取。對于路徑的操作使用os.path.join進(jìn)行。

人工智能學(xué)習(xí)pyTorch自建數(shù)據(jù)集及可視化結(jié)果實現(xiàn)過程

2.圖片對應(yīng)標(biāo)簽

輸入的filename,就是我們將圖片和標(biāo)簽信息存儲的文件。

使用glob.glob方法,可以輕松調(diào)取路徑下的所有指定類型的文件。

將名字和標(biāo)簽對應(yīng)好后,通過csv.writer,可以將信息以csv格式寫入新文件。

人工智能學(xué)習(xí)pyTorch自建數(shù)據(jù)集及可視化結(jié)果實現(xiàn)過程

以上是保存的部分,在這個函數(shù)中,我們還要重新讀取一下這個文件,因為要在這個類中獲得最終的圖片,以及標(biāo)簽,并且返回。

人工智能學(xué)習(xí)pyTorch自建數(shù)據(jù)集及可視化結(jié)果實現(xiàn)過程

3.訓(xùn)練及測試數(shù)據(jù)分割

這里是第一步的圖片的后半部分,導(dǎo)入了圖片之后,對其進(jìn)行分割,這里是按照訓(xùn)練、交叉驗證、測試,分別是0.6,0.2,0.2進(jìn)行分割的。

分割完畢后的self.images, self.labels,就可以拿來進(jìn)行tensor相關(guān)的處理了。

人工智能學(xué)習(xí)pyTorch自建數(shù)據(jù)集及可視化結(jié)果實現(xiàn)過程

4.數(shù)據(jù)處理

上面幾步是準(zhǔn)備工作,接下來定義的__getitem__是為了能夠使train_loader = DataLoader()這一語句實現(xiàn)。在這里面直接將數(shù)據(jù)進(jìn)行我們希望進(jìn)行的轉(zhuǎn)換。比如大小、旋轉(zhuǎn)、裁剪等。

最后返回處理好的圖片,以及tensor化的標(biāo)簽。

人工智能學(xué)習(xí)pyTorch自建數(shù)據(jù)集及可視化結(jié)果實現(xiàn)過程

另外,還需要定義一個__len__,使得我們可以獲得數(shù)據(jù)集長度。

人工智能學(xué)習(xí)pyTorch自建數(shù)據(jù)集及可視化結(jié)果實現(xiàn)過程

 

二、ResNet處理

我們要用ResNet對圖片進(jìn)行處理,因此其中的參數(shù)需要進(jìn)行一定的修改。

主要的修改部分是ResNet18之中的resblock模塊。因為我們希望輸入的是3通道,224*224的圖片,因此在這里對通道,步長進(jìn)行一定的修改,并進(jìn)行測試,成功之后便可以進(jìn)行訓(xùn)練了。

人工智能學(xué)習(xí)pyTorch自建數(shù)據(jù)集及可視化結(jié)果實現(xiàn)過程

 

三、訓(xùn)練及可視化

1.數(shù)據(jù)集導(dǎo)入

同時把GPU設(shè)備相關(guān)代碼準(zhǔn)備好,并且由于需要可視化,因此先實例化visdom,并且在終端上輸入python -m visdom.server,打開visdom監(jiān)視終端。

人工智能學(xué)習(xí)pyTorch自建數(shù)據(jù)集及可視化結(jié)果實現(xiàn)過程

2.測試函數(shù)

先把模式改為eval(),接下來就是通過model,去訓(xùn)練測試集,得到標(biāo)簽,并統(tǒng)計正確率。

人工智能學(xué)習(xí)pyTorch自建數(shù)據(jù)集及可視化結(jié)果實現(xiàn)過程

3.訓(xùn)練過程及可視化

和之前的一樣,還是先實例化一個優(yōu)化器,選擇損失函數(shù)模式,實例化ResNet18,然后進(jìn)行訓(xùn)練。

在這里由于要展示,因此先對損失值,交叉驗證分?jǐn)?shù)分別設(shè)置一個初始的線,通過append的方法,畫出我們的損失曲線,以及交叉驗證分?jǐn)?shù)曲線。

人工智能學(xué)習(xí)pyTorch自建數(shù)據(jù)集及可視化結(jié)果實現(xiàn)過程

人工智能學(xué)習(xí)pyTorch自建數(shù)據(jù)集及可視化結(jié)果實現(xiàn)過程

通過torch.save方法存儲我們的最優(yōu)解。

最后通過把存儲好的最優(yōu)解調(diào)用起來,使用測試集,來測試最終的效果。

人工智能學(xué)習(xí)pyTorch自建數(shù)據(jù)集及可視化結(jié)果實現(xiàn)過程

最終獲得的交叉驗證準(zhǔn)確率89%,測試集準(zhǔn)確率88%,損失值及交叉驗證結(jié)果的圖像如下:

人工智能學(xué)習(xí)pyTorch自建數(shù)據(jù)集及可視化結(jié)果實現(xiàn)過程

以上就是人工智能學(xué)習(xí)pyTorch自建數(shù)據(jù)集及可視化結(jié)果實現(xiàn)過程的詳細(xì)內(nèi)容,更多關(guān)于pyTorch自建數(shù)據(jù)集及可視化結(jié)果實現(xiàn)的資料請關(guān)注服務(wù)器之家其它相關(guān)文章!

原文鏈接:https://blog.csdn.net/Swayzzu/article/details/121164368

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 无人影院在线播放视频 | 第一次处破女18分钟 | 青草视频网| 欧美美女一级片 | 国产精品久久久久久久牛牛 | 亚洲精品黄色 | 国产日产韩产麻豆1区 | 四虎影视国产精品婷婷 | 免费lulu网站 | 啪哆哆 | 亚洲午夜精品久久久久久成年 | 热99这里有精品综合久久 | 999精品视频这里只有精品 | 国产福利一区二区三区 | 久久机热视频 这里只有精品首页 | 草久网| 亚洲天堂免费 | 午夜影院c绿象 | 91资源在线视频 | 3d动漫免费 | 国产成人亚洲综合网站不卡 | 国产色网址 | 免费高清观看 | 2021国产精品视频 | 97精品国产高清在线看入口 | 嘿嘿午夜 | 国产一区二区三区在线观看视频 | 青青国产在线视频 | 王晶三级作品 | 村上里沙40分钟在线观看 | 欧美精品一区二区三区久久 | 亚洲AV综合99一二三四区 | 欧美综合亚洲图片综合区 | 国产最强大片免费视频 | 图片专区小说专区卡通动漫 | 紧身牛仔裤美女被啪啪久久网 | 亚洲精品一区制服丝袜 | 黑人biglackon10十 | 四虎精品成人免费视频 | 高清在线观看mv的网址免费 | 操动漫美女视频 |