尝试运行代码时出现以下错误:
model = Sequential()
model.add(LSTM(4, input_shape=(1, look_back)))
TypeError:while_loop()收到了意外的关键字参数“ maximum_iterations”
我了解解决方案之一是使用其他版本的keras,例如link。但是我正在使用公司的台式机,每次卸载和安装都必须经过公司的IT部门。是否有另一种不涉及更改keras版本的解决方法?
我的keras版本是v2.2.4; tensoflow是v1.1.0
答案 0 :(得分:2)
有一种方法,但它并不漂亮。您可以接触TensorFlow内部和猴子补丁while_loop
来忽略maximum_iterations=
:
from tensorflow.python.ops import control_flow_ops
orig_while_loop = control_flow_ops.while_loop
def patched_while_loop(*args, **kwargs):
kwargs.pop("maximum_iterations", None) # Ignore.
return orig_while_loop(*args, **kwargs)
control_flow_ops.while_loop = patched_while_loop
请注意,这不是防弹措施,即如果将maximum_iterations
作为位置(相对于关键字)参数给出,它将失败,但在您的情况下应“修复” LSTM
。