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

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

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

服務(wù)器之家 - 腳本之家 - Python - Pytorch DataLoader shuffle驗(yàn)證方式

Pytorch DataLoader shuffle驗(yàn)證方式

2021-11-19 13:57循環(huán)是人遞歸是神 Python

這篇文章主要介紹了Pytorch DataLoader shuffle驗(yàn)證方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

shuffle = False時,不打亂數(shù)據(jù)順序

shuffle = True,隨機(jī)打亂

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import numpy as np
import h5py
import torch
from torch.utils.data import DataLoader, Dataset 
h5f = h5py.File('train.h5', 'w');
data1 = np.array([[1,2,3],
               [2,5,6],
              [3,5,6],
              [4,5,6]])
data2 = np.array([[1,1,1],
                   [1,2,6],
                  [1,3,6],
                  [1,4,6]])
h5f.create_dataset(str('data'), data=data1)
h5f.create_dataset(str('label'), data=data2)
class Dataset(Dataset):
    def __init__(self):
        h5f = h5py.File('train.h5', 'r')
        self.data = h5f['data']
        self.label = h5f['label']
    def __getitem__(self, index):
        data = torch.from_numpy(self.data[index])
        label = torch.from_numpy(self.label[index])
        return data, label
 
    def __len__(self):
        assert self.data.shape[0] == self.label.shape[0], "wrong data length"
        return self.data.shape[0]
 
dataset_train = Dataset()
loader_train = DataLoader(dataset=dataset_train,
                           batch_size=2,
                           shuffle = True)
 
for i, data in enumerate(loader_train):
    train_data, label = data
    print(train_data)

pytorch DataLoader使用細(xì)節(jié)

背景:

我一開始是對數(shù)據(jù)擴(kuò)增這一塊有疑問, 只看到了數(shù)據(jù)變換(torchvisiom.transforms),但是沒看到數(shù)據(jù)擴(kuò)增, 后來搞明白了, 數(shù)據(jù)擴(kuò)增在pytorch指的是torchvisiom.transforms + torch.utils.data.DataLoader+多個epoch共同作用下完成的,

數(shù)據(jù)變換共有以下內(nèi)容

?
1
2
3
4
5
composed = transforms.Compose([transforms.Resize((448, 448)), #  resize
                               transforms.RandomCrop(300), # random crop
                               transforms.ToTensor(),
                               transforms.Normalize(mean=[0.5, 0.5, 0.5],  # normalize
                                                    std=[0.5, 0.5, 0.5])])

簡單的數(shù)據(jù)讀取類, 進(jìn)返回PIL格式的image:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class MyDataset(data.Dataset):   
    def __init__(self, labels_file, root_dir, transform=None):
        with open(labels_file) as csvfile:
            self.labels_file = list(csv.reader(csvfile))
        self.root_dir = root_dir
        self.transform = transform
        
    def __len__(self):
        return len(self.labels_file)
    
    def __getitem__(self, idx):
        im_name = os.path.join(root_dir, self.labels_file[idx][0])
        im = Image.open(im_name)
        
        if self.transform:
            im = self.transform(im)
            
        return im

下面是主程序

?
1
2
3
4
5
6
7
8
9
10
11
labels_file = "F:/test_temp/labels.csv"
root_dir = "F:/test_temp"
dataset_transform = MyDataset(labels_file, root_dir, transform=composed)
dataloader = data.DataLoader(dataset_transform, batch_size=1, shuffle=False)
"""原始數(shù)據(jù)集共3張圖片, 以batch_size=1, epoch為2 展示所有圖片(共6張)  """
for eopch in range(2):
    plt.figure(figsize=(6, 6))
    for ind, i in enumerate(dataloader):
        a = i[0, :, :, :].numpy().transpose((1, 2, 0))
        plt.subplot(1, 3, ind+1)
        plt.imshow(a)

Pytorch DataLoader shuffle驗(yàn)證方式

從上述圖片總可以看到, 在每個eopch階段實(shí)際上是對原始圖片重新使用了transform, , 這就造就了數(shù)據(jù)的擴(kuò)增

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/qq_35752161/article/details/110875040

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产高清一区二区三区免费视频 | 荡女淫春2未删减版 | re99| 韩国久久 | 久久国产精品二区99 | 波多野结衣同性系列698 | 99热综合在线 | 网友自拍偷拍 | 亚洲精品免费视频 | 日本xnxnxnxnxn护士 | 齐天大性之七仙女欲春迅雷链接 | 天天色一色 | 欧美精品久久一区二区三区 | 男人的天堂视频 | 色综合伊人色综合网亚洲欧洲 | 午夜伦理:伦理片 | 青青草99热这里都是精品 | 黄动漫车车好快的车车a | 亚洲男1069gay男猛男 | 88av视频在线观看 | 午夜dj影院在线视频观看完整 | 日本xxoo动图网站欧美 | 亚洲 日韩 自拍 视频一区 | 高h巨肉play 高h短篇辣肉各种姿势bl | 欧美日韩国产一区二区三区不卡 | 精品视频一区二区观看 | 精品AV综合导航 | 好男人资源免费播放 | 国产精品午夜国产小视频 | 91最新入口| 国产福利片在线 易阳 | 婷婷在线观看香蕉五月天 | 饭冈加奈子乳喷cead144 | 鸥美三级 | 国产精品 视频一区 二区三区 | 日本一区二区三区在线 视频 | 99久久免费视频 | yellow高清免费 | 国色天香社区在线视频播放 | 日本中文字幕在线精品 | 免费国产成人高清视频网站 |