问题描述
在学习北京大学曹建老师的TensorFlow课程中运行循环神经网络的例子字母预测onehot_1pre1时,报错’NoneType’ object has no attribute ‘dtype’。查看错误来源是fit函数出现了问题。在网上搜索后发现是由于Tensorflow版本和Numpy版本兼容性导致的错误。
解决方案
查看并修改Tensorflow版本
打开命令行
先查看版本,在开始处输入“cmd”命令,以管理员身份打开命令行窗口
查看当前环境
进入命令行,输入conda info --envs
查看当前conda环境
由于我使用的是TF2.1这个,输入指令conda activate TF2.1
进入TF2.1这个环境(你们输入自己使用的环境就行)
这样即为成功进入
查看并修改Tensorflow版本
pip list
如果版本不对,可以修改Tensorflow版本
pip uninstall tensorflow==x.x.x # x.x.x为当前版本号
pip install tensorflow==2.11.0 # 目标版本号
查看并修改numpy版本(注意以下操作都要在当前conda环境内进行)
查看旧版本
还是在当前环境下(TF2.1)使用pip list
查看numpy版本
删除旧版本
pip uninstall numpy==x.x.x # 删除x.x.x版本的numpy
使用pip show numpy
指令查看是否删除成功,如果不显示版本信息就成功
安装Numpy1.18.5版本
pip install numpy==1.18.5 # 使用指令安装1.18.5版本numpy
至此安装成功!
课程中的例子也成功运行。