一. 关于PoetryModel类的实现
(一) 初始化:
继承nn.Module类之后,定义embedding模型,输入的维数为vocab_size,输出的维数为embedding_size,之后定义lstm模型,注意它的要求是两层,用num_layers = 2来表示两层,输入是embeddingdim,输出是hiddndim,最后定义线性模型,输入hiddendim输出是vocabdim,它的目的是将输出的output向量的维数映射到vocabdim维数。
(二) Forward函数,接口为input 和 hidden(初始化为0)
hidden 为两个tensor组成的元组,h0和c0.将输入input向量经过embedding后经过神经网络LSTM后,将output线性模型过滤,最后返回output和hidden
二. test 函数和 acrostic_test函数的实现
(一) test 函数实现:
将start word转化为列表,并将第一个词设置为对应的字典索引值,然后开始进行循环,每轮开始都对它进行神经网络的预测。其中如果循环的次数小于startword的长