tensorflow72 《深度学习原理与TensorFlow实战》05 RNN能说会道 03 对话机器人(chatbot)

来源:互联网 发布:linux属于应用软件吗 编辑:程序博客网 时间:2024/05/21 15:13

01 基本环境

#《深度学习原理与TensorFlow实战》05 RNN能说会道# 书源码地址:https://github.com/DeepVisionTeam/TensorFlowBook.git# 原书中代码位置:https://github.com/DeepVisionTeam/TensorFlowBook/tree/master/rnn/chatbot# win10 Tensorflow_gpu1.2.1 python3.6.1# CUDA v8.0 cudnn-8.0-windows10-x64-v5.1# 可运行代码(win10_py36分支):https://github.com/5455945/TensorFlowBook/tree/win10_py36/rnn/chatbot

02 运行测试

书中代码比较老旧,测试在tensorflow的1.0.1–1.2.1中都不能直接原型,需要稍微修改下代码才可运行。本测试修改也不全面。仅仅能跑起来而已。
能跑起来的代码在
https://github.com/5455945/TensorFlowBook
https://github.com/5455945/TensorFlowBook/tree/win10_py36/rnn/chatbot

需要在TensorFlowBook\rnn\chatbot\data.snippet目录下创建train目录。 TensorFlowBook\rnn\chatbot\data.snippet\train。否则会提示错误:ValueError: Parent directory of ./data.snippet//train\conversation.ckpt doesn't exist, can't save.

运行C:\Python36\python.exe D:/git/DeepLearning/TensorFlowBook/rnn/chatbot/train_model.py效果。

Preparing conversation data in ./data.snippet/vocabulary path ./data.snippet/vocab100000 exsit. we will use the exised onetarget path ./data.snippet/train.ids100000.enquiry already exist! we will use the existed one.target path ./data.snippet/train.ids100000.answer already exist! we will use the existed one.target path ./data.snippet/dev.ids100000.enquiry already exist! we will use the existed one.target path ./data.snippet/dev.ids100000.answer already exist! we will use the existed one.Creating 3 layers of 512 units.Created model with fresh parameters.Reading development and training data (limit: 0).  reading data line 1000  reading data line 1000  reading data line 2000  reading data line 3000  reading data line 4000  reading data line 5000  reading data line 6000  reading data line 7000  reading data line 8000  reading data line 9000  reading data line 10000Start training ...global step 2 learning rate 0.5000 step-time 1.69 perplexity 20891.46  eval: bucket 0 perplexity 29058.64  eval: bucket 1 perplexity 20040.32  eval: bucket 2 perplexity 19524.96  eval: bucket 3 perplexity 21444.03current_step: 2, enquiry: 超级兰博基尼公交车", answer: 不错感觉感觉感觉感觉看了苹果苹果苹果苹果current_step: 2, enquiry: 让人震撼的000年前中国的好照片, answer: 图片图片图片图片男男男新新是是是是是是current_step: 2, enquiry: 父爱如山,父爱如风,父爱如影随形!, answer: 只是只是呢呢呢呢呢呢呢呢呢呢呢呢呢current_step: 2, enquiry: 同学们:感恩节我们三会怎样呢?, answer: 说说说说美美美美美美美美美美.current_step: 2, enquiry: 包大人,你太为难人了!, answer: 《《每个每个每个每个每个每个每个每个每个每个每个每个每个current_step: 2, enquiry: 多少年来,我和小伙伴们都被学校坑了!「暴走漫画」, answer: 能能能能能能能能能能能不要不要不要不要不要不要不要不要不要不要不要不要不要不要current_step: 2, enquiry: [00件生理常识]好好养生啊,你学会了吗?, answer: 小时候小时候小时候非常非常非常非常非常非常非常非常把把一只一只一只还它它它它它它它它current_step: 2, enquiry: 饭后散个步,发现满城尽是红袖章。, answer: 能能能能能能能能版版版版版版版版版版版还还还还还还current_step: 2, enquiry: 期待一会儿的东北美味烤肉加正宗酸菜。, answer: 还我我我我我所有所有所有所有所有所有所有所有所有所有所有所有不要不要不要不要不要不要不要current_step: 2, enquiry: 寸头——是检验帅哥的唯一标准!有木有!被谁雷到?被谁电到?, answer: 说说说说说说版版版版版版版版版版版版版版版版版版版版版版版版版版版美美美美美美美美美美美美美美美美美current_step: 2, enquiry: #晚安家人#哪部与车有关的电影给你留下的印象最深?, answer: 画画画我我我它它它它它它画画画先先先所有所有所有所有所有所有所有所有所有所有所有所有所有所有所有所有所有所有所有所有所有所有所有所有所有所有所有所有所有所有所有所有current_step: 2, enquiry: 灯光啊,嫩把舞台照成一种色儿了,可惜这么好的舞美了。, answer: 画画画版版版版版我我我我我我我我我我我我我我我我我我我我我我所有所有所有所有所有所有所有所有所有所有所有所有所有所有所有所有所有所有所有所有current_step: 2, enquiry: 今晚就读它了。人生如戏,更在意结局。直觉也许是错的。, answer: --说说说说说说说说说说说说看到看到看到看到看到看到看到看到看到看到看到看到看到看到看到看到看到看到说说说说说说说说说说说说说说说说说说global step 4 learning rate 0.5000 step-time 0.71 perplexity 21261.78  eval: bucket 0 perplexity 30052.56  eval: bucket 1 perplexity 18552.89  eval: bucket 2 perplexity 20112.44  eval: bucket 3 perplexity 22628.13current_step: 4, enquiry: 超级兰博基尼公交车", answer: 感觉感觉感觉感觉感觉感觉感觉感觉感觉苹果current_step: 4, enquiry: 让人震撼的000年前中国的好照片, answer: 画图片男男男新新新新新新是是是想要...

运行 C:\Python36\python.exe D:/git/DeepLearning/TensorFlowBook/rnn/chatbot/chatbot.py效果。
如果仅仅运行几次训练,是不会出结果的,至少current_step: 要到1000左右。

49

03 一个比较完整的demo

https://github.com/5455945/Seq2Seq_Chatbot_QA/tree/win10_py36

# 这个代码的win10_py36分支,是一个完整的能够在win10 python3.6.1 tensorflow1.2.1下运行的demohttps://github.com/5455945/Seq2Seq_Chatbot_QA/tree/win10_py36

运行结果:

C:\Python36\python.exe D:/git/DeepLearning/chatbot/Seq2Seq_Chatbot_QA/s2s.py --size 512 --num_layers 2 --num_epoch 5 --batch_size 64 --num_per_epoch 500000 --model_dir ./model/model1dim:  6865准备数据bucket 0 中有数据 506206 条bucket 1 中有数据 1091400 条bucket 2 中有数据 726867 条bucket 3 中有数据 217104 条共有数据 2541577 条开启投影:512Epoch 1:[====================]  100.0%  500032/500000  loss=2.870  50m28s/50m27sEpoch 2:[====================]  100.0%  500032/500000  loss=2.369  49m18s/49m18sEpoch 3:[====================]  100.0%  500032/500000  loss=2.221  49m39s/49m39sEpoch 4:[====================]  100.0%  500032/500000  loss=2.136  48m45s/48m45sEpoch 5:[====================]  100.0%  500032/500000  loss=2.072  45m20s/45m19sProcess finished with exit code 0C:\Python36\python.exe D:/git/DeepLearning/chatbot/Seq2Seq_Chatbot_QA/s2s.py --size 512 --num_layers 2 --num_epoch 5 --batch_size 64 --num_per_epoch 500000 --model_dir ./model/model1 --test Truedim:  6865开启投影:512> 你好我是说,我们要去哪儿> 中国很美我们不知道,我们不是在这里的> 周末运动吧是的> 你是谁我是个军队> 你从哪里来我不知道> 你到哪里去我不知道> 你喜欢我吗?我喜欢> 你吃了吗?我不知道> 你吃了吗?我不知道> 你喜欢喝酒吗?我喜欢> 千山万水总是情我们的生活是一个人> 你说话没有逻辑啊你说的是什么> 一枝红杏出墙来是的> 其他不> 如果我们会把它们送回来> 但是我们不知道> 哈哈哈哈你们在这里干什么,我们走> Process finished with exit code 1C:\Python36\python.exe D:/git/DeepLearning/chatbot/Seq2Seq_Chatbot_QA/s2s.py --size 512 --num_layers 2 --num_epoch 5 --batch_size 64 --num_per_epoch 500000 --model_dir ./model/model1 --test False --bleu 1000dim:  6865准备数据bucket 0 中有数据 506206 条bucket 1 中有数据 1091400 条bucket 2 中有数据 726867 条bucket 3 中有数据 217104 条共有数据 2541577 条开启投影:512 75%|███████▌  | 750/1000 [01:44<00:36,  6.92it/s]2017-07-14 10:48:23.407970: I c:\tf_jenkins\home\workspace\release-win\m\windows-gpu\py\36\tensorflow\core\common_runtime\gpu\pool_allocator.cc:247] PoolAllocator: After 351571 get requests, put_count=351568 evicted_count=1000 eviction_rate=0.0028444 and unsatisfied allocation rate=0.003137352017-07-14 10:48:23.408500: I c:\tf_jenkins\home\workspace\release-win\m\windows-gpu\py\36\tensorflow\core\common_runtime\gpu\pool_allocator.cc:259] Raising pool_size_limit_ from 100 to 110100%|██████████| 1000/1000 [02:18<00:00,  7.42it/s]BLUE: 1.63 in 1000 samples
阅读全文
0 0