Импортированы необходимые пакеты, но я все еще получаю сообщение ImportError: невозможно импортировать имя «Адам» из «keras.optimizers».

avatar
javier
1 июля 2021 в 20:12
1501
2
1

Некоторое время я пытался запустить программу обучения машинному обучению в кластере высокопроизводительных вычислений с использованием MobaXterm и получил

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

и подобные ошибки, когда я запускаю основной файл, который должен обучать модель, а затем выводить файл с обученными весами. Я обязательно импортирую необходимый пакет, относящийся к ошибке, через строку: «из 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
Источник
Dr. Snoopy
1 июля 2021 в 20:50
0

Как вы установили keras в этом кластере?

javier
2 июля 2021 в 14:26
0

Я сделал это через "pip install keras --user"

Dr. Snoopy
2 июля 2021 в 19:58
0

Какую версию keras установили? Это, вероятно, отличается от того, что вы используете на других компьютерах.

Saily_Shah
15 октября 2021 в 14:32
0

Отвечает ли это на ваш вопрос? ImportError: невозможно импортировать имя "adam" из "keras.optimizers"

Ответы (2)

avatar
Saily_Shah
15 октября 2021 в 14:38
0

У меня была аналогичная проблема, и я просто заменил это:

from keras.optimizers import Adam

С этим:

from tensorflow.keras.optimizers import Adam

Чтобы справиться с этой ошибкой в ​​более новой версии tensorflow, мы можем пропустить импорт Адама. Нам не нужно неявно импортировать оптимизатор. Мы можем просто упомянуть:

model.compile(optimizer= "adam", loss='mse')
avatar
javier
2 июля 2021 в 16:26
1

Сначала мне предложили проверить версии моих пакетов. Моя версия Keras по какой-то причине вызывала проблемы, поэтому я удалил keras и изменил все мои импорты, например:

from keras.callbacks import 

поставить лайк

from tensorflow.keras.callbacks import

И это изменение решило проблему