赞
踩
文本生成时,生成prefix字符串后面锝文本时,需要先循环遍历prefix的初始字符,用于更新隐状态H。我们不断的将隐状态H传递到下一个时间步,但不生成任何输出,这个称为预热期。预热期结束后,隐状态的值通常会比初始值更适合预测。因为隐状态包含了之前文本(prefix)的信息。
isinstance(net,nn.Module)判断模型是否自定义:
使用库内预先包装好的模型:net.parameters() 获取模型参数
使用自定义模型:net.params获取模型参数(params为自定义属性)
Animator,Accumulate为d2l包中包装好的类,Timer为timer包中的类。
抽取的批量:(批量,时间步数)
one-hot编码:(批量,时间步数,词表)
input:(时间步数,批量,词表)
x:(批量,词表)
y:(批量,词表)
output: (时间步数 * 批量,词表) 由y通过torch.cat(outputs, dim=0)连接。
使用d2l包装好的模型,需要自己设置Linear将包装的RNN的输出(时间步数 * 批量,hidden)变为(时间步数 * 批量,词表)
因为这样更好通过最外层来一步一步更新隐状态,25 热编码变成了 52*词表,这样读取时就可以先读取出两个句子的各自第一个词x1,然后根据它来生成各自句子的隐变量,然后再继续下一个词,直到把两个句子各五个词读取完为止,得到了两个句子各自的隐变量h5。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。