zoukankan      html  css  js  c++  java
  • pytorch的Dataloader的shuffle

    https://blog.csdn.net/qq_20200047/article/details/105671374

    1.简单测import sys

    import sys
    import torch
    import random
    import argparse
    import numpy as np
    import pandas as pd
    import torch.nn as nn
    from torch.nn import functional as F
    from torch.optim import lr_scheduler
    from torchvision import datasets, transforms
    from torch.utils.data import TensorDataset, DataLoader, Dataset
     
    class DealDataset(Dataset):
        def __init__(self):
            xy = np.random.randn(4,3)
            print(xy)
            print("
    ")
            self.x_data = torch.from_numpy(xy[:, 0:-1])
            self.y_data = torch.from_numpy(xy[:, [-1]])
            self.len = xy.shape[0]
        
        def __getitem__(self, index):
            return self.x_data[index], self.y_data[index]
     
        def __len__(self):
            return self.len
       
    dealDataset = DealDataset()
     
    train_loader2 = DataLoader(dataset=dealDataset,
                              batch_size=2,
                              shuffle=True)
    for j in range(5):
        for i, data in enumerate(train_loader2):
            inputs, labels = data
    
            #inputs, labels = Variable(inputs), Variable(labels)
            print(inputs)
        print("
    ")
            #print("epoch:", epoch, "的第" , i, "个inputs", inputs.data.size(), "labels", labels.data.size())

    输出:

    [[ 1.35870858 -0.74676435 -0.4181123 ]
     [ 0.14165115 -1.55553785 -2.03821185]
     [ 0.46154706  1.36100343 -0.13686081]
     [ 0.59683626  1.60361944 -0.90266193]]
    
    
    tensor([[ 0.4615,  1.3610],
            [ 0.1417, -1.5555]], dtype=torch.float64)
    tensor([[ 0.5968,  1.6036],
            [ 1.3587, -0.7468]], dtype=torch.float64)
    
    
    tensor([[ 1.3587, -0.7468],
            [ 0.4615,  1.3610]], dtype=torch.float64)
    tensor([[ 0.5968,  1.6036],
            [ 0.1417, -1.5555]], dtype=torch.float64)
    
    
    tensor([[ 0.1417, -1.5555],
            [ 1.3587, -0.7468]], dtype=torch.float64)
    tensor([[0.5968, 1.6036],
            [0.4615, 1.3610]], dtype=torch.float64)
    
    
    tensor([[ 0.5968,  1.6036],
            [ 1.3587, -0.7468]], dtype=torch.float64)
    tensor([[ 0.4615,  1.3610],
            [ 0.1417, -1.5555]], dtype=torch.float64)
    
    
    tensor([[ 0.5968,  1.6036],
            [ 0.1417, -1.5555]], dtype=torch.float64)
    tensor([[ 1.3587, -0.7468],
            [ 0.4615,  1.3610]], dtype=torch.float64)

    说明每次调用dataloader都是重新打乱,而不是在定义的时候只打乱一次。

  • 相关阅读:
    su的使用与退出
    338. Counting Bits
    c语言学习笔记
    Linux命令
    vimrc
    CSS选择器
    链表//设计链表
    数组和字符串//反转字符串中的单词 III
    CSS样式基本知识
    开始学习CSS,为网页添加样式
  • 原文地址:https://www.cnblogs.com/BlueBlueSea/p/13853796.html
Copyright © 2011-2022 走看看