Python_ai
基于RNN的诗歌生成实验报告
一. 关于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转化为列表,并将第一个词设置为
(二) acrostic函数实现:
首先建立空列表,设置第一个输入为
三. 其他问题解决
(一) 如何对模型进行调试
我在处理模型的bug的过程中,不断的用print(XXX.shape)不断的输出关键向量的维数,查看维数是否匹配,因为在循环神经网络的训练过程中,维数的匹配非常重要,当维数不匹配时,锁定错误位置,及时调整。
(二) 如何提升模型训练效率,采用gpu加速
在模型定义过程中,使用代码self.device = torch.device("cuda" if torch.cuda.is_available() else "cpu")这样当电脑的gpu可用的时候,device就会被设定为cuda,同时在self.model定义时,后面加入.to(self.device)这样就可以用gpu进行加速,如果gpu不可用,那就会用cpu不会影响其他运算。
参考文献
- 面向中文古诗的智能问答技术研究(华中师范大学·洪婕)
- 《宋词三百首》标注语料库的构建及计量研究(南京师范大学·郝星月)
- 逼真流数据测试集的弹性并行生成框架技术(华东师范大学·顾伶)
- 轻量级分布式虚假信息爬虫的设计与实现(辽宁大学·韩昱)
- 数据可视化代码自动生成工具的研究与实现(北京工业大学·刘东洋)
- 逼真流数据测试集的弹性并行生成框架技术(华东师范大学·顾伶)
- 基于CUDA的知识图谱嵌入并行化(西南财经大学·鲁宇星)
- 基于Spring Boot的多用户博客系统的设计研究(青海师范大学·罗涛)
- 面向中文古诗的智能问答技术研究(华中师范大学·洪婕)
- 基于文本信息的可控图像生成研究(武汉纺织大学·余开元)
- 基于生成式对抗网络的文本数据增强系统的设计与实现(北京邮电大学·丹晓东)
- 基于对比学习的图像生成系统的设计与实现(北京邮电大学·王德鑫)
- 中外经典诗歌信息系统设计与实现(华中师范大学·黄柏霖)
- 基于Spring Cloud的股票简讯自动生成系统的设计与实现(北京邮电大学·张金生)
- 个性化音乐推荐系统的设计与实现(华中科技大学·余梦琴)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:源码货栈 ,原文地址:https://m.bishedaima.com/yuanma/35772.html