首页 > 解决方案 > 在 Keras 中制作 LSTM 模型时出现 TypeError

问题描述

我正在尝试使用 Keras 制作 LSTM 模型,我的代码如下所示

model = Sequential()
model.add(LSTM(32, input_shape=(50, 2)))

当我运行它时,它会中断

TypeError:“NoneType”对象不可下标

当我在 input_shape 参数为空的情况下运行时

model = Sequential()
model.add(LSTM(32))

它不会中断,因此无论我无法填写此内容。我尝试过其他数字等,但它在我看来就像是 Keras 的错误。

编辑:这是完整的追溯

> KeyError                                  Traceback (most recent call
> last)
> C:\ProgramData\Anaconda3\envs\tf-gpu\lib\site-packages\tensorflow_core\python\eager\context.py
> in __enter__(self)
> 
> KeyError: ('', '/job:localhost/replica:0/task:0/device:GPU:0')
> 
> During handling of the above exception, another exception occurred:
> 
> TypeError                                 Traceback (most recent call
> last) <ipython-input-112-8a0bfa8251b2> in <module>
>       1 model = Sequential()
> ----> 2 model.add(LSTM(128, input_shape=(50, 2)))
> 
> C:\ProgramData\Anaconda3\envs\tf-gpu\lib\site-packages\keras\engine\sequential.py
> in add(self, layer)
> 
> C:\ProgramData\Anaconda3\envs\tf-gpu\lib\site-packages\keras\layers\recurrent.py
> in __call__(self, inputs, initial_state, constants, **kwargs)
> 
> C:\ProgramData\Anaconda3\envs\tf-gpu\lib\site-packages\keras\backend\tensorflow_backend.py
> in symbolic_fn_wrapper(*args, **kwargs)
> 
> C:\ProgramData\Anaconda3\envs\tf-gpu\lib\site-packages\keras\engine\base_layer.py
> in __call__(self, inputs, **kwargs)
> 
> C:\ProgramData\Anaconda3\envs\tf-gpu\lib\site-packages\keras\layers\recurrent.py
> in build(self, input_shape)
> 
> C:\ProgramData\Anaconda3\envs\tf-gpu\lib\site-packages\keras\layers\recurrent.py
> in build(self, input_shape)
> 
> C:\ProgramData\Anaconda3\envs\tf-gpu\lib\site-packages\tensorflow_core\python\ops\array_ops.py
> in _SliceHelperVar(var, slice_spec)
> 
> C:\ProgramData\Anaconda3\envs\tf-gpu\lib\site-packages\tensorflow_core\python\ops\resource_variable_ops.py
> in value(self)
> 
> C:\ProgramData\Anaconda3\envs\tf-gpu\lib\contextlib.py in
> __enter__(self)
>     110         del self.args, self.kwds, self.func
>     111         try:
> --> 112             return next(self.gen)
>     113         except StopIteration:
>     114             raise RuntimeError("generator didn't yield") from None
> 
> C:\ProgramData\Anaconda3\envs\tf-gpu\lib\site-packages\tensorflow_core\python\framework\ops.py
> in combined(device_name_or_function)
> 
> C:\ProgramData\Anaconda3\envs\tf-gpu\lib\site-packages\tensorflow_core\python\eager\context.py
> in __enter__(self)
> 
> TypeError: 'NoneType' object is not subscriptable

标签: pythonkerastypeerrorlstm

解决方案


推荐阅读