Keras ที่ไม่สนับสนุน 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 รายการ: 'หน่วย' ขอบคุณ
Dean

นี่เป็นข้อผิดพลาดในโครงสร้าง Dense layer ซึ่งแตกต่างจากข้อผิดพลาดในการนำเข้าที่คุณมี (ดังนั้นรหัสที่คุณให้ไว้ด้านบน) กล่าวโดยย่อเลเยอร์ทั้งหมดมีพารามิเตอร์หน่วยที่ต้องการซึ่งกำหนดจำนวนของเซลล์ประสาท คุณสามารถดูรายละเอียดเพิ่มเติมในเอกสารประกอบ
nickthefreak

คุณหมายถึง units = 6 เป็น classifier.add อินพุตชั้น (หนาแน่น (units = 6, init = 'uniform', activation = 'relu', input_dim = 11))
Dean

ชอบ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แพ็คเกจของคุณเลยและคุณอาจถอนการติดตั้งได้เช่นกัน


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+
ลองอัพเกรด keras ของคุณ :

pip install -U keras

หรือคุณอาจระบุรุ่น keras เป็น 2.3


1

ฉันพบปัญหาเดียวกัน ลดระดับ TensorFlow ของฉันเป็นเวอร์ชั่น 1.14 โดยใช้สิ่งต่อไปนี้:

!pip install tensorflow==1.14.0

แก้ไขข้อผิดพลาด



โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.