pytorch dataloader和batch_size大小的理解
程序员文章站
2022-06-13 10:02:20
...
pytorch中dataloader的大小将根据batch_size的大小自动调整。如果训练数据集有1000个样本,并且batch_size的大小为10,则dataloader的长度就是100。
需要注意的是,如果dataset的大小并不能被batch_size整除,则dataloader中最后一个batch可能比实际的batch_size要小。例如,对于1001个样本,batch_size的大小是10,train_loader的长度len(train_loader)=101,最后一个batch将仅含一个样本。可以通过设置dataloader的drop_last属性为True来避免这种情况。
Pytorch的Dataset提供了得到dataset中单个样本的接口,即通过使用index下标来获得单个样本数据。Dataloader用来提供batch个样本供模型训练
class MyDataset(Dataset):
def __init__(self, size):
self.x = torch.randn(size, 1)
def __getitem__(self, index):
return self.x[index]
def __len__(self):
return len(self.x)
dataset = MyDataset(1001)
data_loader = DataLoader(dataset,
batch_size=10)
len(data_loader)
for batch_idx, data in enumerate(data_loader):
print 'batch idx{}, batch len {}'.format(
batch_idx, len(data))
data_loader = DataLoader(dataset,
batch_size=10,
drop_last=True)
len(data_loader)
for batch_idx, data in enumerate(data_loader):
print 'batch idx{}, batch len {}'.format(
batch_idx, len(data))
上一篇: VueCli3查看项目vue.config.js的默认配置信息
下一篇: JS_浏览器兼容
推荐阅读
-
pytorch有关 Dataset和 DataLoader的心得
-
我对PyTorch dataloader里的shuffle=True的理解
-
pytorch :: Dataloader中的迭代器和生成器应用
-
Python深度学习pytorch神经网络填充和步幅的理解
-
pytorch dataloader和batch_size大小的理解
-
JavaScript位置与大小(1)之正确理解和运用与尺寸大小相关的DOM属性_javascript技巧
-
JavaScript位置与大小(1)之正确理解和运用与尺寸大小相关的DOM属性_javascript技巧
-
pytorch :: Dataloader中的迭代器和生成器应用
-
我对PyTorch dataloader里的shuffle=True的理解
-
pytorch有关 Dataset和 DataLoader的心得