TensorFlow 2.0'ı desteklemeyen Keras. Tf.keras kullanmanızı veya alternatif olarak TensorFlow 1.14 sürümüne geçmenizi öneririz


9

(TensorFlow 2.0'ı desteklemeyen Keras. Herhangi bir öneriyi kullanmanızı tf.kerasveya alternatif olarak TensorFlow 1.14'e indirmenizi öneririz) ile ilgili bir hata yaşıyorum .

Teşekkürler

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.

Yanıtlar:


11

İçe aktarma işlemini yalnızca en üstte değiştirmeniz gerekir:

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

Bunu işaret etmek zorundayım. Tam olarak listelediklerini yaptım. ancak aşağıdaki hatayı aldım TypeError: __init __ () eksik 1 gerekli konumsal argüman: 'units' Teşekkürler
Dean

Bu, Yoğun katman yapısında, şu ana kadar aldığınız içe aktarma hatasından farklı bir hatadır (bu nedenle yukarıda sağladığınız kod). Kısacası, tüm katmanların nöron sayısını tanımlayan gerekli birimler parametresi vardır. Belgelerde
nickthefreak

giriş katmanı classifier.add olarak birimler = 6 mı demek istiyorsunuz (Yoğun (birimler = 6, init = 'tekdüze', aktivasyon = 'relu', input_dim = 11))
Dean

Daha çok benziyor classifier.add(Dense(6, init = 'uniform', activation = 'relu', input_shape = (11,))). Giriş şeklinin belgelere göre bir demet olması gerekir. Bu biraz ayrı bir sorundur, bu nedenle yeni bir soru açmanız veya keras kullanarak mevcut MLP uygulama örneklerini kontrol etmeniz gerekebilir.
nickthefreak

1
Bu cevap benim için çalışıyor.
VansFannel

3

TensorFlow 2.0+ yalnızca Keras 2.3.0+ ile uyumludur, bu nedenle Keras 2.2.5- kullanmak istiyorsanız TensorFlow 1.15.0- gerekir. Alternatif olarak, evet, yapabilirsiniz from tensorflow.keras import ..., ancak bu keraspaketinizi hiç kullanmayacaktır ve siz de kaldırabilirsiniz.


1
"Can" arasında büyük bir fark var ve aslında destekleniyor, sadece Keras 2.3.x TensorFlow 2.0'ı destekliyor, bu nedenle onunla 2.2.5 kullanılmasını önermeyin.
Dr. Snoopy

@MatiasValdenegro Bu cümlenin ikinci yarısı var
OverLordGoldDragon

Evet, bu yüzden kısmen desteklenen TF sürümlerinden bahsetmemenizi tavsiye ederim.
Dr. Snoopy

@MatiasValdenegro Herhangi bir şey varsa, açıkça K2.2.5 + TF2'yi kullanmaktan vazgeçirir - başka bir kullanıcı hata olmadan çalıştırabilir ve iyi olduğunu düşünebilir. Ama tamam, sanırım daha açık hale getirebilirim - cevap güncellendi
OverLordGoldDragon

1
Hayır, şimdi Keras 2.2.5'in TF 2.0'ı gerçekten desteklemediğine dair kanıt buldum, sadece bu taahhüdüne bakın, bu yüzden sadece "can" demek aslında yanlış.
Dr. Snoopy

2

Eğer kullanmak tensorflow 2.0+istiyorsanız keras 2.3+
benim için çalışır keras yükseltmek için denemek gerekir :

pip install -U keras

veya keras sürümünü 2.3 olarak belirtebilirsiniz


1

Ben de aynı sorunla karşılaştım. Aşağıdakileri kullanarak TensorFlow'umu sürüm 1.14'e düşürdüm:

!pip install tensorflow==1.14.0

Hata düzeltildi.


1

ilk olarak, tensorflow'u içe aktarın:

import tensorflow as tf

Sonra, bunun yerine,

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

kullanın:

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

Çalışırsa beni bilgilendir.


0

ilk hücredeki bu kod satırı benim için çalıştı

% tensorflow_version 1.x


0

Sorunu çalıştırarak çözdüm

pip install --ignore-installed --upgrade keras
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.