NotImplementedError: Cannot convert a symbolic Tensor解决办法

如题,装了tensorflow-gpu 2.5.0后,搭建神经网络模型,使用tf.keras.layers的一系列神经网络层都会出现以下这个报错信息:

NotImplementedError: Cannot convert a symbolic Tensor (sequential/simple_rnn/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。

经过多方查证和亲身实验后我认为原因是tensorflow和numpy版本不兼容的问题,办法是将tensorflow降到2.3或2.4,同时将numpy降到1.19.x的版本,此时要求python版本为3.6-3.8。

具体操作方法(默认已经装了anaconda):

1.打开anaconda prompt,在其中输入conda create -n aaa python=3.8,其中aaa是环境名,可以自己取;

2.创建好环境后,conda activate aaa,进入刚刚创建的aaa环境;

3.conda install tensorflow-gpu=2.3.0 安装tensorflow,如果有提示,全部选择y;

4.安装好tensorflow后,conda install numpy==1.19.5,安装好后即完成。

下附:tensorflow-gpu和python的版本对应关系,感谢作者整理。

2021最新:TensorFlow各个GPU版本CUDA和cuDNN对应版本整理(最简洁)_K1052176873的博客-CSDN博客

你可能感兴趣的:(tensorflow,深度学习)