Keras yang tidak mendukung TensorFlow 2.0. Kami merekomendasikan penggunaan `tf.keras`, atau sebagai alternatif, menurunkan versi ke TensorFlow 1.14

9

Saya mengalami kesalahan terkait (Keras yang tidak mendukung TensorFlow 2.0. Kami menyarankan untuk menggunakan tf.keras, atau sebagai alternatif, menurunkan versi ke TensorFlow 1.14.) Setiap rekomendasi.

Terima kasih

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.
Dekan
sumber

Jawaban:

11

Anda hanya perlu mengubah impor di atas:

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))
ulangi pukulan
sumber
Saya punya untuk menunjukkan ini. Saya telah melakukan persis apa yang Anda daftarkan. tapi saya telah mendapatkan kesalahan TypeError berikut: __init __ () hilang 1 argumen posisi yang diperlukan: 'unit' Terima kasih
Dean
Ini adalah kesalahan dalam konstruksi lapisan padat, berbeda dari kesalahan impor yang Anda miliki sejauh ini (jadi kode yang Anda berikan di atas). Singkatnya, semua layer memiliki parameter unit yang diperlukan yang menentukan jumlah neuron. Anda dapat melihat rincian lebih lanjut dalam dokumentasi
nickthefreak
maksud Anda units = 6 sebagai input layer classifier.add (Padat (unit = 6, init = 'seragam', aktivasi = 'relu', input_dim = 11))
Dean
Lebih mirip classifier.add(Dense(6, init = 'uniform', activation = 'relu', input_shape = (11,))). Bentuk input harus berupa tuple sesuai dokumentasi. Ini adalah jenis masalah yang terpisah, jadi Anda mungkin harus membuka pertanyaan baru atau memeriksa contoh implementasi MLP yang ada menggunakan keras.
Nickthefreak
1
Jawaban ini cocok untuk saya.
VansFannel
3

TensorFlow 2.0+ hanya kompatibel dengan Keras 2.3.0+, jadi jika Anda ingin menggunakan Keras 2.2.5-, Anda perlu TensorFlow 1.15.0-. Atau, ya, Anda bisa melakukannya from tensorflow.keras import ..., tetapi itu tidak akan menggunakan keraspaket Anda sama sekali dan Anda mungkin menghapusnya.

OverLordGoldDragon
sumber
1
Ada perbedaan besar antara "bisa" dan sebenarnya didukung, hanya Keras 2.3.x mendukung TensorFlow 2.0, jadi jangan rekomendasikan untuk menggunakan 2.2.5 dengan itu.
Matias Valdenegro
@MatiasValdenegro Untung ada bagian kedua dari kalimat itu
OverLordGoldDragon
Ya, itu sebabnya saya sarankan untuk tidak menyebutkan versi TF yang didukung sebagian.
Matias Valdenegro
@MatiasValdenegro Jika ada, itu secara eksplisit mengecilkan menggunakan K2.2.5 + TF2 - selain itu pengguna dapat menjalankannya tanpa kesalahan dan berpikir itu baik-baik saja. Tapi baiklah, kurasa aku bisa membuatnya lebih eksplisit - jawab diperbarui
OverLordGoldDragon
1
Tidak, sekarang saya menemukan bukti bahwa Keras 2.2.5 sebenarnya tidak mendukung TF 2.0, lihat saja komit ini , jadi hanya mengatakan "bisa" sebenarnya salah.
Matias Valdenegro
2

jika Anda ingin menggunakan, tensorflow 2.0+Anda harus keras 2.3+
mencoba untuk mengupgrade keras Anda itu berfungsi untuk saya:

pip install -U keras

atau Anda dapat menentukan versi keras ke 2.3

hossein hayati
sumber
1

Saya mengalami masalah yang sama. Menurunkan TensorFlow saya ke versi 1.14 menggunakan yang berikut:

!pip install tensorflow==1.14.0

Memperbaiki kesalahan.

Nabi kuantum
sumber
0

baris kode ini pada sel pertama bekerja untuk saya

% tensorflow_version 1.x

lucas
sumber
0

Saya memperbaiki masalah dengan menjalankan

pip install --ignore-installed --upgrade keras
shihs
sumber