深度学习-使用RNN生成诗

本文介绍了一种使用RNN(循环神经网络)在PyTorch框架下生成诗歌的方法。通过简化《深度学习框架PyTorch:入门与实践》中的示例,重点关注诗歌生成的核心部分,包括生成连接诗和藏头诗。代码链接提供。
摘要由CSDN通过智能技术生成

代码连链接       

这里稍微更改了下《深度学习框架PyTorch:入门与实践》里的demo,去掉稍微繁琐和多次训练的部分,只保留了比较核心的生成连接诗和藏头诗两部分(比较渣太复杂了看不懂)。

目标效果:

连接诗:
机器学习书,局上无酒浆。婆娑珍金盘,缕烂金葳浆。萱草发秋叶,旖旎镂金墙。拳芳既盈薄,禄位不敢匼。揆我不及饱,有时不相并。我为蘧生意,日出狱所宣。徇禄惩未卜,退食何由尝。濡毫若可濯,视事忘忧伤。茍餐偿朽援,亦有糟醨浆。忆来不得意,与我来此方。幽谷荫幽壤,清猨鸣秋霜。因思霖雨霁,始觉风物长。既与物外违,复知辱所并。吾欲顾己仁,岂必死者伤。茍哉吾安适,复道迈一觞。虽遇物外兴,永忻良所侵。

藏头诗:
机心俨不见,金马不可量。器食非所古,此心何足伤。学书三十载,相劝一旬长。习隸不可乐,持斧亦葳裳。书来不可再,稅首皆自忙。

主要面main.py:

import torch as t
from data import get_data
from model import PoetryModel

"""对象"""
class Config(object):
    data_path = 'data/'  # 诗歌的文本文件存放路径
    pickle_path = 'tang.npz'  # 预处理好的二进制文件,包含data,形状为(57580,125),共57580首诗歌,每首诗歌长度125,不够补空格,多余丢弃
    category = 'poet.tang'  # 类别,唐诗还是宋诗歌(poet.song)
    max_gen_len = 200  # 生成诗歌最长长度
    prefix_words = '细雨鱼儿出,微风燕子斜。'  # 不是诗歌的组成部分,用来控制生成诗歌的意境
    start_words = '闲云潭影日悠悠'  # 诗歌开始
    acrostic = True  # 是否是藏头诗
    model_path = None  # 预训练模型路径
opt = Config()

"""给定一句诗,继续生成一首完整的诗"""
def generate(model, start_words, ix2word, word2ix, prefix_words=None):
    """
         ix2word:每个序号对应的字
         word2ix:每个字对应的序号
         prefix_words:诗歌意境
         <EOP>:8290
         <START>:8591
         </s>:8292
         <,>:7066
         <。>:7435
     """
   
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值