无法将符号张量 (lstm_15/strided_slice:0) 转换为 numpy 数组
Posted
技术标签:
【中文标题】无法将符号张量 (lstm_15/strided_slice:0) 转换为 numpy 数组【英文标题】:Cannot convert a symbolic Tensor (lstm_15/strided_slice:0) to a numpy array 【发布时间】:2021-05-15 01:59:33 【问题描述】:我无法构建 LSTM 网络,因为每次我尝试使用下面的代码创建它时都会收到以下错误:
NotImplementedError: Cannot convert a symbolic Tensor (lstm_15/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
我的代码如下:
rnn_model = Sequential()
rnn_model.add(LSTM(16,input_shape=(20,1)))
rnn_model.add(Dense(10))
rnn_model.add(Dense(1))
到底出了什么问题?
【问题讨论】:
添加完整代码以重现您的错误,您的 sn-p 完全有效。你可以看看这个指南:How to create a Minimal, Reproducible Example. 这能回答你的问题吗? NotImplementedError: Cannot convert a symbolic Tensor (lstm_2/strided_slice:0) to a numpy array. T 【参考方案1】:这是因为您使用的是不兼容的 NumPy 版本。 如果您使用的是 TensorFlow 2.4.1,则需要使用以下版本的 Numpy:
pip install -U numpy==1.19.2
【讨论】:
如果您使用的是 tf 2.4.1,它也不适用于 numpy 1.19.2。以上是关于无法将符号张量 (lstm_15/strided_slice:0) 转换为 numpy 数组的主要内容,如果未能解决你的问题,请参考以下文章
带有 Shap ValueError 的 DeepExplainer:使用不是符号张量的输入调用了 Layersequential_1