Pytorch seq2seq聊天机器人(pytorch-chatbot)

Song • 1395 次浏览 • 0 个回复 • 2018年03月06日

pytorch-chatbot

这是针对Formosa Speech Grand Challenge一个pytorch seq2seq教程, 该教程由pratical-pytorch seq2seq-translation-batched进行了修改。 这里是中文的教程。 相关源码讲解可以查看[ 源码讲解 ] pytorch通过Seq2Seq开发聊天机器人

一、开始

1、克隆源代码
git clone https://github.com/ywk991112/pytorch-chatbot
2、文集

在数据文件中, 输入输出序列对应位于相邻的行中。例如:

I'll see you next time.
Sure. Bye.
How are you?
Better than ever.

语言库文件应放置在像下面这样的路径下,

pytorch-chatbot/data/<corpus file name>

否则,语言文件将会被Git追踪.

3、训练

运行此命令开始训练,根据自己的需要更改参数值。

python main.py -tr <CORPUS_FILE_PATH> -la 1 -hi 512 -lr 0.0001 -it 50000 -b 64 -p 500 -s 1000

继续使用保存的模型进行训练

python main.py -tr <CORPUS_FILE_PATH> -l <MODEL_FILE_PATH> -lr 0.0001 -it 50000 -b 64 -p 500 -s 1000

如需更多选项,

python main.py -h
4、测试

模型将在pytorch-chatbot/save/model训练期间保存,并且可以在config.py中进行更改。 使用语言库中的输入序列评估保存的模型。

python main.py -te <MODEL_FILE_PATH> -c <CORPUS_FILE_PATH>

手动输入序列测试模型。

python main.py -te <MODEL_FILE_PATH> -c <CORPUS_FILE_PATH> -i

K的速度搜索。

python main.py -te <MODEL_FILE_PATH> -c <CORPUS_FILE_PATH> -be k [-i] 

二、遇到的问题以及解决办法

1、如果遇到第一个错误

File "main.py", line 40
    args.reverse, args.filter, args.iteration, args.print, args.save, args.learning_rate, \
                                                        ^

解决办法: 将main.py中的40行的args.print改为args.prints,然后将17行的--print改为--prints即可。

2、NameError: global name 'FileNotFoundError' is not defined

FileNotFoundError未python3的方法,如果是pytorch 2.7把项目中的所有FileNotFoundError改为IOError即可

3、AttributeError: 'module' object has no attribute 'zip_longest'

是由于你没有安装itertools,安装即可,如果你是python 2.7版本,需要把train.py中的42行的zip_longest改为izip_longest

Pytorch seq2seq聊天机器人(pytorch-chatbot)

该项目我先测试中,后续结果会更新在文章中。 项目地址:ywk991112/pytorch-chatbot


原创文章,转载请注明 :Pytorch seq2seq聊天机器人(pytorch-chatbot) - pytorch中文网
原文出处: https://ptorch.com/news/137.html
问题交流群 :168117787
提交评论
要回复文章请先登录注册
用户评论
  • 没有评论
Pytorch是什么?关于Pytorch! pytorch迁移学习教程以及分类蚂蚁和蜜蜂