欢迎订阅本专栏:《PyTorch深度学习实践》
订阅地址:https://blog.csdn.net/sinat_33761963/category_9720080.html
- 第二章:认识Tensor的类型、创建、存储、api等,打好Tensor的基础,是进行PyTorch深度学习实践的重中之重的基础。
- 第三章:学习PyTorch如何读入各种外部数据
- 第四章:利用PyTorch从头到尾创建、训练、评估一个模型,理解与熟悉PyTorch实现模型的每个步骤,用到的模块与方法。
- 第五章:学习如何利用PyTorch提供的3种方法去创建各种模型结构。
- 第六章:利用PyTorch实现简单与经典的模型全过程:简单二分类、手写字体识别、词向量的实现、自编码器实现。
- 第七章利用PyTorch实现复杂模型:翻译机(nlp领域)、生成对抗网络(GAN)、强化学习(RL)、风格迁移(cv领域)。
- 第八章:PyTorch的其他高级用法:模型在不同框架之间的迁移、可视化、多个GPU并行计算。
在实际应用中,数据集往往是非常大的,如果每次迭代都对所有样本进行前向-后向计算从而更新依次参数,就会非常慢,因此常用的方式是将总样本分割为多批样本,每计算一批样本就更新一次参数。PyTorch提供了每次产生一批数据的迭代器,提升了效率。
来看看具体做法,先创建一批数据x,y
import torch
# 创建了50个样本
x = torch.unsqueeze(torch.linspace(1,10,50), dim=1)
y = x.pow(2)
将数据转换为TensorDataset
dataset = Data.TensorDataset(x, y)
将TensorDataset转换成dataloader,设置参数batch_size,dataloader是一个迭代器,它会每次都吐出batch_size个样本
dataloader = Data.DataLoader(dataset=dataset, batch_size=10)
print(dataloader)
for inp, out in dataloader:
print(inp.shape)
print</