问题

实验环境
TensorFlow2.4.1(Macbook m1 with conda-forge)

报错信息
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

解决

numpy版本过高,conda安装指定版本的numpy,1.19.5即可解决问题​1​.

conda search numpy
conda install numpy=1.19.5 -c conda-forge

2021.8.23更新

不同平台可能在numpy的版本选取方面有所不同, 这里建议conda用户先切换到tf所在的虚拟环境(​​conda activate tf24​​​), 然后使用​​conda search --full --name numpy​​, 其中显示的numpy版本逐个尝试(建议先尝试1.19.X这个大版本)应该会解决问题.

我在Windows10平台上安装TensorFlow 2.4.1之后, 使用Numpy1.20.3也会出现上述报错, 后来降低Numpy版本安装了Numpy1.19.2之后报错消失. 希望可以作为大家解决报错的一个参考.

参考


  1. ​NotImplementedError: Cannot convert a symbolic Tensor (lstm_2/strided_slice:0) to a numpy array. T​​​ ​​↩︎​