解决tensorflow2.0下lstm:cannot convert a symbolic tensor (lstm/strided_slice:0) to a numpy array.方法

错误提示:

cannot convert a symbolic tensor (lstm/strided_slice:0) to a numpy array. this error may indicate that you're trying to pass a tensor to a numpy call, which is not supported

以上是完整的错误提示。

之所以会出现这样的错误,是因为你的numpy版本和tensor版本不兼容,要想解决这个问题很简单,直接重新安装numpy就行了。

注:安装numpy的方式:

利用conda命令进行安装;

conda install numpy==1.19.5

利用pip命令进行安装:

pip install numpy==1.19.5

两种方式都可以成功安装上所需要的numpy。

(两种方式安装的numpy及其附属包略有不同,有兴趣的小伙伴可以自行搜索)

安装完成之后,再次运行程序就应该没有问题了。

下面说一下我的代码里为什么出现这样的错误:

原本的代码里使用的的确是numpy==1.19.5,但是因为进行后续的操作,我需要其他的一些包来支持,所以我在pycharm的终端通过pip命令安装了seaborn,当时我没有指定版本号,直接默认安装(一般是最新版本)上了,在安装的过程中出现了numpy的信息,当时我也没有注意,现在想来,我的原始的numpy就是那个时候被默认替换掉的,所以才会出现后边不兼容的问题。

你可能感兴趣的:(numpy,tensorflow,lstm)