tensorflow版本升级引起的错误

在腾讯云开发者实验室,有个使用rnn的变种seq2seq算法实现的聊天机器人,预测数据时出现了下面的错误:

module 'tensorflow.python.ops.rnn_cell_impl' has no attribute '_linear'

分析原因:

经过查询其他帖子,发现一个类似的错误:https://blog.csdn.net/u014568072/article/details/85336545

由此判断,此错误是因为安装的tensorflow版本较高,不兼容所引用的包。

解决方法:只需修改seq2seq.py文件中两处:

一个是引用包需要修改,名称有了变化:

from tensorflow.python.ops import rnn_cell_impl

 修改为:

from tensorflow.contrib.rnn.python.ops.core_rnn_cell import _linear

二是使用的形式需要修改:

linear = rnn_cell_impl._linear  # pylint: disable=protected-access

修改为:

linear = _linear  # pylint: disable=protected-access

修改好的文件,可以在github中下载:https://github.com/zlanngao/deeplearning/blob/master/5.4.3/seq2seq.py

参考修改截图:

发布了8 篇原创文章 · 获赞 2 · 访问量 440

猜你喜欢

转载自blog.csdn.net/zlanngao/article/details/97019620