| 32 | 32 |
acrostic = False # 是否是藏头诗
|
| 33 | 33 |
model_prefix = 'checkpoints/tang' # 模型保存路径
|
| 34 | 34 |
|
| 35 | |
# conf={
|
| 36 | |
# "data_path":'tang.npz', # 诗歌的文本文件存放路径
|
| 37 | |
# "pickle_path":'tang.npz' , # 预处理好的二进制文件
|
| 38 | |
# "author":None, # 只学习某位作者的诗歌
|
| 39 | |
# "constrain": None, # 长度限制
|
| 40 | |
# "category" :'poet.tang', # 类别,唐诗还是宋诗歌(poet.song)
|
| 41 | |
# "lr" :1e-3,
|
| 42 | |
# "weight_decay": 1e-4,
|
| 43 | |
# "use_gpu" : False,
|
| 44 | |
# "epoch" : 20,
|
| 45 | |
# "batch_size" : 128,
|
| 46 | |
# "maxlen" : 125 , # 超过这个长度的之后字被丢弃,小于这个长度的在前面补空格
|
| 47 | |
# "plot_every" : 20, # 每20个batch 可视化一次
|
| 48 | |
# "use_env" : True, # 是否使用visodm
|
| 49 | |
# "env" : 'poetry' , # visdom env
|
| 50 | |
# "max_gen_len" : 200 , # 生成诗歌最长长度
|
| 51 | |
# "debug_file" : '/tmp/debugp',
|
| 52 | |
# "model_path" : 'checkpoints/tang_199.pth', # 预训练模型路径
|
| 53 | |
# "prefix_words": '笑语盈盈暗香去' , # 不是诗歌的组成部分,用来控制生成诗歌的意境
|
| 54 | |
# "start_words" : '语' , # 诗歌开始
|
| 55 | |
# "acrostic" : False , # 是否是藏头诗
|
| 56 | |
# "model_prefix" : 'checkpoints/tang' # 模型保存路径
|
| 57 | |
# }
|
| 58 | 35 |
opt = Config()
|
| 59 | |
# opt = conf
|
| 60 | 36 |
|
| 61 | 37 |
|
| 62 | 38 |
def generate(model, start_words, ix2word, word2ix, prefix_words=None):
|
|
| 247 | 223 |
gen_poetry = gen_acrostic if opt.acrostic else generate
|
| 248 | 224 |
result = gen_poetry(model, start_words, ix2word, word2ix, prefix_words)
|
| 249 | 225 |
return result
|
| 250 | |
# print(''.join(result))
|
| 251 | 226 |
|
| 252 | 227 |
|
| 253 | 228 |
# if __name__ == '__main__':
|
| 254 | |
# conf={
|
| 255 | |
# "max_gen_len":200, # 生成诗歌最长长度
|
| 256 | |
# "prefix_words":'漂亮', # 不是诗歌的组成部分,用来控制生成诗歌的意境
|
| 257 | |
# "start_words" : '雨' # 诗歌开始
|
|
229 |
# conf={'start_words':"雨",'prefix_words':"天晴", 'max_gen_len':100}
|
|
230 |
# start_words = conf['start_words'] #诗歌开始
|
|
231 |
# prefix_words = conf['prefix_words'] #诗歌语境
|
|
232 |
# max_gen_len = conf['max_gen_len'] #诗歌最大长度
|
|
233 |
# cof={
|
|
234 |
# "max_gen_len": max_gen_len, # 生成诗歌最长长度
|
|
235 |
# "prefix_words":prefix_words, # 不是诗歌的组成部分,用来控制生成诗歌的意境
|
|
236 |
# "start_words" : start_words # 诗歌开始
|
| 258 | 237 |
# }
|
| 259 | |
# result = gen(**conf)
|
|
238 |
# result = gen(**cof)
|
| 260 | 239 |
# result = ''.join(result)
|
| 261 | |
# return {'ret1':result}
|
| 262 | |
# # print(result)
|
|
240 |
# # return {'ret1':result}
|
|
241 |
# print(result)
|