今天就跟大家聊聊有關(guān)如何利用pytorch自定義一個(gè)數(shù)據(jù)集,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)建站作為成都網(wǎng)站建設(shè)公司,專注網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì),有關(guān)成都企業(yè)網(wǎng)站定制方案、改版、費(fèi)用等問(wèn)題,行業(yè)涉及成都門簾等多個(gè)領(lǐng)域,已為上千家企業(yè)服務(wù),得到了客戶的尊重與認(rèn)可。自定義數(shù)據(jù)集
在訓(xùn)練深度學(xué)習(xí)模型之前,樣本集的制作非常重要。在pytorch中,提供了一些接口和類,方便我們定義自己的數(shù)據(jù)集合,下面完整的試驗(yàn)自定義樣本集的整個(gè)流程。
開(kāi)發(fā)環(huán)境
實(shí)驗(yàn)?zāi)康?/strong>
實(shí)驗(yàn)過(guò)程
1.收集圖像樣本
以簡(jiǎn)單的貓狗二分類為例,可以在網(wǎng)上下載一些貓狗圖片。創(chuàng)建以下目錄:
在test/train/val之下在校分別創(chuàng)建2個(gè)文件夾,dog, cat
cat, dog文件夾下分別存放2類圖像:
標(biāo)簽
種類 | 標(biāo)簽 |
---|---|
cat | 0 |
dog | 1 |
之后寫一個(gè)簡(jiǎn)單的python腳本,生成txt文件,用于指明每個(gè)圖像和標(biāo)簽的對(duì)應(yīng)關(guān)系。
格式: /cat/1.jpg 0 \n dog/1.jpg 1 \n .....
如圖:
至此,樣本集的收集以及簡(jiǎn)單歸類完成,下面將開(kāi)始采用pytorch的數(shù)據(jù)集相關(guān)API和類。
2. 使用pytorch相關(guān)類,API對(duì)數(shù)據(jù)集進(jìn)行封裝
2.1 pytorch中數(shù)據(jù)集相關(guān)的類,接口
pytorch中數(shù)據(jù)集相關(guān)的類位于torch.utils.data package中。
https://pytorch.org/docs/stable/data.html
本次實(shí)驗(yàn),主要使用以下類:
torch.utils.data.Dataset
torch.utils.data.DataLoader
Dataset類的使用: 所有的類都應(yīng)該是此類的子類(也就是說(shuō)應(yīng)該繼承該類)。 所有的子類都要重寫(override) __len()__, __getitem()__ 這兩個(gè)方法。
方法 | 作用 |
---|---|
__len()__ | 此方法應(yīng)該提供數(shù)據(jù)集的大小(容量) |
__getitem()__ | 此方法應(yīng)該提供支持下標(biāo)索方式引訪問(wèn)數(shù)據(jù)集 |
這里和Java抽象類很相似,在抽象類abstract class中,一般會(huì)定義一些抽象方法abstract method,抽象方法:只有方法名沒(méi)有方法的具體實(shí)現(xiàn)。如果一個(gè)子類繼承于該抽象類,要重寫(overrode)父類的抽象方法。
DataLoader類的使用:
2.2 實(shí)現(xiàn)
使用到的python package
python package | 目的 |
---|---|
numpy | 矩陣操作,對(duì)圖像進(jìn)行轉(zhuǎn)置 |
skimage | 圖像處理,圖像I/O,圖像變換 |
matplotlib | 圖像的顯示,可視化 |
os | 一些文件查找操作 |
torch | pytorch |
torvision | pytorch |
源碼
導(dǎo)入python包
import numpy as np from skimage import io from skimage import transform import matplotlib.pyplot as plt import os import torch import torchvision from torch.utils.data import Dataset, DataLoader from torchvision.transforms import transforms from torchvision.utils import make_grid
網(wǎng)頁(yè)名稱:如何利用pytorch自定義一個(gè)數(shù)據(jù)集-創(chuàng)新互聯(lián)
URL分享:http://muchs.cn/article32/eespc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、網(wǎng)站收錄、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站排名、商城網(wǎng)站、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容