【问题标题】:Imported necessary packages, but I'm still getting ImportError: cannot import name 'Adam' from 'keras.optimizers'导入了必要的包,但我仍然收到 ImportError: cannot import name 'Adam' from 'keras.optimizers'
【发布时间】:2021-07-01 20:12:30
【问题描述】:

一段时间以来,我一直在尝试使用 MobaXterm 在 HPC 集群上运行机器学习训练程序,并且一直在尝试

ImportError: cannot import name 'Adam' from 'keras.optimizers'

当我运行应该训练模型然后输出训练权重文件的主文件时出现类似错误。我确保通过以下行导入与错误相关的必要包:“from keras.optimizers import Adam”,所以为什么这不会消失是个谜。

另一个线程中的某人建议使用 tensorflow.keras.optimizers 而不是 keras.optimizers,但这只是给了我另一个错误:

ValueError: Could not interpret optimizer identifier: <tensorflow.python.keras.optimizer_v2.adam.Adam object at 0x2aab0e2dd828>

有趣的是,从 github 下载的该程序几乎未经编辑,在我的本地计算机上运行时运行完美,并且在 Google Colab 上也运行良好。一旦我开始将它发送到集群,问题就会出现。想知道是否有人有这种事情的经验并且知道我应该注意什么。提前致谢!

编辑:我意识到在文件开头显示我正在执行的所有导入可能会有所帮助,它们在这里:

from __future__ import print_function
import numpy as np 
import os
import skimage.io as io
import skimage.transform as trans
import numpy as np
from keras.models import *
from keras.layers import *
from keras.optimizers import *  #I have tried commenting out this line but still face the same error
from keras.callbacks import ModelCheckpoint, LearningRateScheduler
from keras import backend as keras
from keras.preprocessing.image import ImageDataGenerator
import glob

from keras.optimizers import Adam

【问题讨论】:

标签: python tensorflow keras hpc


【解决方案1】:

最初建议我检查我的软件包版本。我的 Keras 版本由于某种原因导致了问题,所以我做了一个 pip uninstall keras 并更改了我所有的导入,例如:

from keras.callbacks import 

喜欢

from tensorflow.keras.callbacks import

这个改动解决了问题

【讨论】:

    【解决方案2】:

    我遇到了类似的问题,我只是替换了这个:

    from keras.optimizers import Adam
    

    有了这个:

    from tensorflow.keras.optimizers import Adam
    

    为了在新版本的 tensorflow 中处理这个错误,我们可以跳过导入 Adam。我们不必隐式导入优化器。我们可以提一下:

    model.compile(optimizer= "adam", loss='mse')
    

    【讨论】:

      猜你喜欢
      • 2022-12-21
      • 2019-07-20
      • 2020-07-16
      • 2019-06-10
      • 2014-09-25
      • 2014-01-02
      • 1970-01-01
      • 1970-01-01
      • 2021-09-28
      相关资源
      最近更新 更多