Керас, який не підтримує TensorFlow 2.0. Ми рекомендуємо використовувати `tf.keras` або, як альтернатива, понизити рівень до TensorFlow 1.14


9

У мене виникає помилка щодо (Keras, який не підтримує TensorFlow 2.0. Ми рекомендуємо використовувати tf.kerasабо альтернативно переходити на TensorFlow 1.14.) Будь-які рекомендації.

Дякую

import keras
#For building the Neural Network layer by layer
from keras.models import Sequential
#To randomly initialize the weights to small numbers close to 0(But not 0)
from keras.layers import Dense

classifier=tf.keras.Sequential()

classifier.add(Dense(output_dim = 6, init = 'uniform', activation = 'relu', input_dim = 11))




RuntimeError: It looks like you are trying to use a version of multi-backend Keras that does not support TensorFlow 2.0. We recommend using `tf.keras`, or alternatively, downgrading to TensorFlow 1.14.

Відповіді:


11

Вам слід лише змінити імпорт вгорі:

from tensorflow.python.keras.layers import Dense
from tensorflow.python.keras import Sequential

classifier = Sequential()
classifier.add(Dense(6, init = 'uniform', activation = 'relu', input_dim = 11))

Я маю на це вказати. Я зробив саме те, що ви перерахували. але у мене з’явилася така помилка TypeError: __init __ () відсутній 1 необхідний позиційний аргумент: 'units' Спасибі
Декан

Це помилка в побудові шару щільного шару, відмінна від помилки імпорту, яку ви мали до цього часу (тому код, який ви вказали вище). Коротше кажучи, всі шари мають необхідний параметр одиниць, який визначає кількість нейронів. Більше подробиць ви можете побачити в документації
nickthefreak

ви маєте на увазі одиниці = 6 як вхідний рівень classifier.add (Щільний (одиниці = 6, init = 'рівномірний', активація = 'relu', input_dim = 11))
декан

Більше, як classifier.add(Dense(6, init = 'uniform', activation = 'relu', input_shape = (11,))). Форма введення повинна бути кортежем відповідно до документації. Це якась окрема проблема, тому вам, можливо, доведеться відкрити нове запитання або перевірити наявні приклади реалізації MLP за допомогою керас.
nickthefreak

1
Ця відповідь працює для мене.
VansFannel

3

TensorFlow 2.0+ сумісний лише з Keras 2.3.0+, тому якщо ви хочете використовувати Keras 2.2.5-, вам знадобиться TensorFlow 1.15.0-. Так, ви можете це зробити from tensorflow.keras import ..., але це взагалі не використовуватиме ваш kerasпакет, і ви також можете його видалити.


1
Існує велика різниця між "може" і фактично підтримується, тільки Keras 2.3.x підтримує TensorFlow 2.0, тому не рекомендую використовувати 2.2.5 з ним.
Matias Valdenegro

@MatiasValdenegro Добре, що до цього вироку є друга половина
OverLordGoldDragon

Так, тому я рекомендую не згадувати частково підтримувані версії TF.
Matias Valdenegro

@MatiasValdenegro Якщо що-небудь, це явно перешкоджає використанню K2.2.5 + TF2 - інакше користувач може запустити його без помилки і вважає, що це добре. Але добре, гадаю, я можу зробити це більш чітким - відповідь оновлена
OverLordGoldDragon

1
Ні, тепер я знайшов докази того, що Keras 2.2.5 насправді не підтримує TF 2.0, просто подивіться на це зобов’язання , тому просто сказати "можна" насправді неправильно.
Matias Valdenegro

2

якщо ви хочете використовувати, tensorflow 2.0+ви повинні keras 2.3+
спробувати оновити свої кери, це працює для мене:

pip install -U keras

або ви можете вказати версію keras до 2.3


1

Я зіткнувся з тим же питанням. Повернув мій TensorFlow до версії 1.14, використовуючи наступне:

!pip install tensorflow==1.14.0

Виправлена ​​помилка.


0

цей рядок коду на першій комірці працював на мене

% tensorflow_version 1.x


0

Я вирішив проблему, запустивши

pip install --ignore-installed --upgrade keras
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.