知识图到文本的生成——捌

本文深入分析了PyTorch中训练模型的核心函数`train()`,探讨了数据处理、损失计算及`trainorder`列表的随机排序。特别地,详细解释了`fixBatch()`函数的工作原理,包括如何确定批量数据、调整数据布局以及`contiguous()`函数的作用,该函数用于在不复制数据的情况下确保张量的连续性。
摘要由CSDN通过智能技术生成

2021SC@SDUSC

我们继续分析train.py,上次提到了train()函数,是train.py中的一个核心函数,它主要用于对数据集进行训练和测试。

首先看看它的四个参数以及调用时传的实际参数:

def train(m,o,ds,args):
train(m,o,ds,args)

m是一个model类的模型,model类在之前已详细分析过。

o是main函数里,通过对m的参数、权重和偏置,和学习率以及0.9的冲量调用了torch.optim.SGD函数的结果。

ds是数据集dataset。

args是pargs类的参数。

  loss = 0
  ex = 0
  trainorder = [('1',ds.t1_iter),('2',ds.t2_iter),('3',ds.t3_iter)]

loss是训练集损失数,ex是训练集增加数。trainorder是一个列表,里面存放了三个元素。这三个元素的意思在dataset类中,分别对data进行了迭代批处理。

    self.t1_iter = data.Iterator(t1d,args.t1size,device=args.device,sort_key=lambda x:len(x.out),repeat=False,train=True)
    self.t2_iter = data.Iterator(t2d,args.t2size,device
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值