批量训练网络

"""
如果整个数据库中图片的数量不是每批数据图片数量的整数倍,体统会将剩余的图片放入最后一批
"""
import torch
import torch.utils.data as Data

torch.manual_seed(1)    # reproducible

BATCH_SIZE = 5

x = torch.linspace(1, 10, 10)
y = torch.linspace(10, 1, 10)

# 定义一个数据库
torch_dataset = Data.TensorDataset(data_tensor=x, target_tensor=y)

# 将数据库中的数据变成多批数据集
loader = Data.DataLoader(
    dataset=torch_dataset,      # TensorDataset数据集
    batch_size=BATCH_SIZE,      # 每批数据的大小
    shuffle=True,               # 打乱顺序
    num_workers=2,              # 加载数据的进程数
)

for epoch in range(3):
    for step, (batch_x, batch_y) in enumerate(loader):
        # 这个部分为训练数据
        print('Epoch: ', epoch, '| Step: ', step, '| batch x: ',
              batch_x.numpy(), '| batch y: ', batch_y.numpy())

 

posted @ 2019-01-29 20:13  车路历程  阅读(306)  评论(0编辑  收藏  举报