【问题标题】:TypeError: weight_decay is not a valid argument, kwargs should be empty for `optimizer_experimental.Optimizer`TypeError: weight_decay 不是一个有效的参数,kwargs 对于 optimizer_experimental.Optimizer 应该是空的
【发布时间】:2022-12-19 13:30:15
【问题描述】:

运行 tensorflow.keras.models.load_model('') 时出现上述错误

我在 Spyder 环境中处理 tensorflow,我没有遇到任何问题。 由于我不断收到提示(每当启动 Spyder 时)Spyder 的新版本 5 可用,我卸载了现有的 Spyder 版本并安装了最新版本。事实上,我卸载了 Anaconda 本身并重新安装了一遍(因为上述问题仍然存在)。 但是,当运行包含用于加载现有已保存 LSTM 模型的代码的相同程序时,出现以下错误。

prediction_model = tensorflow.keras.models.load_model('') 模型保存为 .h5 文件。

运行load_model命令时的完整错误字符串如下:

File "C:\Users\ayapp\anaconda3\lib\site-packages\keras\utils\traceback_utils.py", line 67, in error_handler
    raise e.with_traceback(filtered_tb) from None

  File "C:\Users\ayapp\anaconda3\lib\site-packages\keras\optimizers\optimizer_experimental\optimizer.py", line 94, in _process_kwargs
    raise TypeError(f"{k} is not a valid argument, kwargs should be empty "

TypeError: weight_decay is not a valid argument, kwargs should be empty  for `optimizer_experimental.Optimizer`.

当我在早期版本的 Spyder 中工作时,从未遇到过这个问题。

有人可以提出解决方案吗?

【问题讨论】:

  • 你知道如何解决这个问题吗?我有一个类似的问题。在 jupyter 笔记本中,模型加载得很好。但是当我尝试通过 Flask 做同样的事情时,我得到了和你一样的错误。

标签: tensorflow keras typeerror spyder


【解决方案1】:

利用 model = tensorflow.keras.models.load_model(文件名,编译=假) 然后 model.compile(这里的任何设置) 这对我有用

【讨论】:

  • 是的。这对我也有用。想知道为什么它没有更早地工作。对于 Flask 和 Jupyter,我没有在这些 IDE 上尝试过,因为我更喜欢在 Spyder 上工作。
【解决方案2】:

重写@Christian Velez 的答案以更加清晰。

示例代码:

model = Sequential()
...
model.compile(//some arguments) #Copy This Line
model.save(//path)

解决方案:

model = load_model(//path, compile=False)
model.compile(//some arguments) #Paste it here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-01
    • 2022-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多