import torch
import torch.utils.data as Data
#Data为训练过程中进行小批次训练的途径
torch.manual_seed(1)
BATCH_SIZE=5
x=torch.linspace(1,10,10)
y=torch.linspace(10,1,10)
#定义一个torch数据库,将我们的xy数据都放到里面
torch_dataset=Data.TensorDataset(x,y)
#用loader来使我们的训练变成一小批一小批的
loader=Data.DataLoader(
dataset=torch_dataset,
batch_size=BATCH_SIZE,
shuffle=True, #定义训练过程是否要随机打乱数据顺序
num_workers=2, #定义每次提取batchx和batchy时使用2个线程
)
#如何把我们的data用到训练当中去
def show_batch():
for epoch in range(3):
#把所有数据整体训练3次,每次训练都会
#现在有10个数据,batch_size为5,每个epoch中,将10个数据拆为两组,每组有5个数据,
#每个内层for循环中,将这组拆两组来训练,外层大的一共进行三次
for setp,(batch_x,batch_y) in enumerate(loader):
#enumerate函数将输入转化为一个索引序列如下
# >> > seasons = ['Spring', 'Summer', 'Fall', 'Winter']
# >> > list(enumerate(seasons))
# [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
#model training process
print('Epoch:',epoch,'|Step:',setp,'|batch x:',
batch_x.numpy(),'|batch y:',batch_y.numpy())
if __name__ == '__main__':
show_batch()
pytorch:minibatch
最新推荐文章于 2024-03-20 23:06:25 发布