Keras que não suportam o TensorFlow 2.0. Recomendamos usar o `tf.keras` ou, alternativamente, fazer o downgrade para o TensorFlow 1.14


9

Estou com um erro em relação a (Keras que não oferece suporte ao TensorFlow 2.0. Recomendamos o uso tf.kerasou, alternativamente, o downgrade para o TensorFlow 1.14.) Quaisquer recomendações.

obrigado

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.

Respostas:


11

Você só precisa alterar as importações na parte superior:

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))

Eu tenho que apontar isso. Eu fiz exatamente o que você listou. mas eu tenho o seguinte erro TypeError: __init __ () ausente 1 argumento posicional necessário: 'units' Thanks
Dean

Este é um erro na construção da camada densa, diferente do erro de importação que você teve até agora (portanto, o código que você forneceu acima). Em resumo, todas as camadas têm um parâmetro de unidades necessário que define o número de neurônios. Você pode ver mais detalhes na documentação
nickthefreak

você quer dizer unidades = 6 como a camada de entrada classifier.add (Denso (unidades = 6, init = 'uniforme', ativação = 'relu', input_dim = 11))
Dean

Mais como classifier.add(Dense(6, init = 'uniform', activation = 'relu', input_shape = (11,))) . O formato da entrada precisa ser uma tupla, conforme a documentação. Esse é um problema separado, portanto, talvez você precise abrir uma nova pergunta ou procurar exemplos existentes de implementações de MLP usando keras.
nickthefreak

11
Esta resposta funciona para mim.
VansFannel 24/01

3

O TensorFlow 2.0+ é compatível apenas com o Keras 2.3.0+, portanto, se você deseja usar o Keras 2.2.5-, precisará do TensorFlow 1.15.0-. Como alternativa, sim, você pode fazer from tensorflow.keras import ..., mas isso não usará seu keraspacote e você poderá desinstalá-lo.


11
Há uma grande diferença entre "can" e é realmente suportado, apenas o Keras 2.3.x suporta o TensorFlow 2.0, portanto, não recomendamos o uso do 2.2.5.
Matias Valdenegro

@MatiasValdenegro Ainda bem que existe uma segunda metade dessa frase #
OverLordGoldDragon

Sim, é por isso que recomendo não mencionar as versões TF suportadas parcialmente.
Matias Valdenegro

@MatiasValdenegro Se alguma coisa, desencoraja explicitamente o uso do K2.2.5 + TF2 - caso contrário, o usuário pode executá-lo sem erros e achar que está bem. Mas tudo bem, acho que posso torná-lo mais explícito - resposta atualizada
OverLordGoldDragon

11
Não, agora encontrei evidências de que o Keras 2.2.5 não oferece suporte ao TF 2.0, basta olhar para esse commit , portanto, apenas dizer "pode" está realmente errado.
Matias Valdenegro

2

se você quiser usar, tensorflow 2.0+você deve keras 2.3+
tentar atualizar seus keras, isso funciona para mim:

pip install -U keras

ou você pode especificar a versão keras para 2.3


1

Eu tive o mesmo problema. Downgrade meu TensorFlow para a versão 1.14 usando o seguinte:

!pip install tensorflow==1.14.0

Corrigido o erro.


0

essa linha de código na primeira célula funcionou para mim

% tensorflow_version 1.x


0

Corrigi o problema executando

pip install --ignore-installed --upgrade keras
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.