• 0

ظهور الخطأ <TypeError: The added layer must be an instance of class Layer. Found: <keras.layers.core.Dropout object at 0x000001622999A5F8 في كيراس Keras

أقوم ببناء نموذج لتصنيف الأرقام المكتوبة بخط اليد اعتماداً على مجموعة بيانات MINST لكن لا أعلم سبب ظهور الخطأ التالي عندما أحاول تدريب النموذج:

from tensorflow.keras.layers import Conv2D,MaxPooling2D
from keras.datasets import mnist
from tensorflow.keras.models import Sequential
import keras
from keras.layers import Dense, Dropout, Flatten
model = Sequential()
model.add(Conv2D(30,(3,3),padding="valid",kernel_initializer="glorot_uniform", activation="tanh", input_shape=(28, 28, 1) ))
model.add(Conv2D(30,(3,3), activation="tanh"))
model.add(MaxPooling2D((2,2))
model.add(Dropout(0.4))
model.add(Flatten())
model.add(Dense(100, activation='relu'))
model.add(Dropout(0.4))
model.add(Dense(10, activation='softmax'))
-----------------------------------------------------------------------------------------------
TypeError: The added layer must be an instance of class Layer. Found: <keras.layers.core.Dropout object at 0x000001622999A5F8>

 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 2

السبب في قيامك بالخلط مابين Keras API و tensorflow.keras، فهما منفصلتين، فالأولى هي إطار العمل كيراس أما الثانية فهي كيراس نفسها لكن بعد أن تم دمجها كموديول في تنسرفلو عملية الدمج هذه قد تنتج أخطاءاً تتعلق بالتوافق في بعض الأحيان عندما تقوم باستخدامهما في نموذجك معاً، حيث قمت هنا بتهيئة معمارية sequential من tensorflow.keras وإضافة طبقات لها من  Keras API لذا استخدم إما   Keras API أو tensorflow.keras. وبالتالي يكون :

from tensorflow.keras.layers import Conv2D,MaxPooling2D
from tensorflow.keras.datasets import mnist
from tensorflow.keras.models import Sequential
import tensorflow.keras
from tensorflow.keras.layers import Dense, Dropout, Flatten
model = Sequential()
model.add(Conv2D(30,(3,3),padding="valid",kernel_initializer="glorot_uniform", activation="tanh", input_shape=(28, 28, 1) ))
model.add(Conv2D(30,(3,3), activation="tanh"))
model.add(MaxPooling2D((2,2))
model.add(Dropout(0.4))
model.add(Flatten())
model.add(Dense(100, activation='relu'))
model.add(Dropout(0.4))
model.add(Dense(10, activation='softmax'))

 

2 اشخاص أعجبوا بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن