【问题标题】:LSTM + Nvidia GPU causes NotImplementedErrorLSTM + Nvidia GPU 导致 NotImplementedError
【发布时间】:2021-12-12 08:00:55
【问题描述】:

我有 Python 3.9.7、TensowFlow == 2.5、NVIDIA-SMI 497.09、驱动程序版本:497.09、CUDA 版本:11.5。尝试如下定义 LSTM 模型:

n_steps = 500
n_features = 1

# Univariate multi-step time series prediction-
model = Sequential()
model.add(LSTM(units=50, activation='relu', return_sequences=True, input_shape=(n_steps, n_features)))

它首先给出警告:

警告:tensorflow:Layer lstm_4 不会使用 cuDNN 内核,因为它 不符合标准。它将使用通用 GPU 内核作为 在 GPU 上运行时的回退。

然后:

NotImplementedError:无法转换符号张量 (lstm_4/strided_slice:0) 到一个 numpy 数组。此错误可能表明 您正在尝试将张量传递给 NumPy 调用,这不是 支持

将激活更改为“tanh”不会改变任何内容。

【问题讨论】:

    标签: python-3.x lstm tensorflow2.0


    【解决方案1】:

    检查你的 numpy 版本。 1.20以上吗?这是 issue #14687 有同样的问题,他们指向 issue #47691,他们在 tensorflow 2.6 中修复了这个问题。

    所以,要么降级到 numpy 1.19.2,pip install numpy==1.19.2,要么升级 tensorflow,pip install --upgrade tensorflow。这应该有望解决问题!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-15
      • 2011-02-14
      • 1970-01-01
      • 2020-09-18
      • 2017-04-17
      • 2021-02-05
      • 1970-01-01
      相关资源
      最近更新 更多