Керас, который не поддерживает 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))
nickthefreak
источник
Я указал на это. Я сделал именно то, что вы перечислили. но я получил следующую ошибку TypeError: __init __ () отсутствует 1 обязательный позиционный аргумент: 'units' Спасибо
декан
Это ошибка в построении плотного слоя, отличающаяся от ошибки импорта, которая была у вас до сих пор (поэтому код, который вы предоставили выше). Короче говоря, все слои имеют обязательный параметр единиц, который определяет количество нейронов. Вы можете увидеть более подробную информацию в документации
nickthefreak
Вы имеете в виду unit = 6 в качестве входного слоя classifier.add (Плотный (единицы = 6, init = 'равномерный', активация = 'relu', input_dim = 11))
Декан
Больше похоже classifier.add(Dense(6, init = 'uniform', activation = 'relu', input_shape = (11,))). Форма ввода должна быть кортежем согласно документации. Это отдельная проблема, поэтому вам, возможно, придется открыть новый вопрос или проверить существующие примеры реализации MLP с использованием keras.
nickthefreak
1
Этот ответ работает для меня.
VansFannel
3

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

OverLordGoldDragon
источник
1
Существует большая разница между «can» и фактически поддерживается, только Keras 2.3.x поддерживает TensorFlow 2.0, поэтому не рекомендуется использовать 2.2.5 с ним.
Матиас Вальденегро
@MatiasValdenegro Хорошо, что в этом предложении есть вторая половина
OverLordGoldDragon
Да, поэтому я рекомендую не упоминать частично поддерживаемые версии TF.
Матиас Вальденегро
@MatiasValdenegro Во всяком случае, он явно не рекомендует использовать K2.2.5 + TF2 - иначе пользователь может запустить его без ошибки и подумать, что все в порядке. Но ладно, думаю, я могу сделать это более явным - ответ обновлен
OverLordGoldDragon
1
Нет, теперь я нашел доказательства того, что Keras 2.2.5 на самом деле не поддерживает TF 2.0, просто посмотрите на этот коммит , поэтому просто сказать «может» на самом деле неправильно.
Матиас Вальденегро
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

у меня эта строка кода на первой ячейке работала

% tenorflow_version 1.x

Лукас
источник
0

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

pip install --ignore-installed --upgrade keras
shihs
источник