اذهب إلى المحتوى
  • 0

ظهور الخطأ NameError: name 'Dense' is not defined في كيراس وتنسرفلو

Meezo ML

السؤال

أحاول بناء نموذج في كيراس، لكن يظهر لي الخطأ التالي:

from keras.datasets import imdb
from keras import preprocessing
max_features = 1000
maxlen = 20
(x_train, y_train), (x_test, y_test) = imdb.load_data(
num_words=max_features)
x_train = preprocessing.sequence.pad_sequences(x_train,maxlen=maxlen) 
x_test = preprocessing.sequence.pad_sequences(x_test, maxlen=maxlen)
from keras.models import Sequential
from keras.layers import Flatten,Embedding
model = Sequential()
model =Sequential()
model.add(Dense(16, activation='relu',input_shape=(20,)))
model.add(Dense(16, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['acc'])
history = model.fit(x_train, y_train,
epochs=3,
batch_size=64,
validation_split=0.2)
---------------------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-1-9e88e2e56b90> in <module>
     11 model = Sequential()
     12 model =Sequential()
---> 13 model.add(Dense(16, activation='relu',input_shape=(20,)))
     14 model.add(Dense(16, activation='relu'))
     15 model.add(Dense(1, activation='sigmoid'))

NameError: name 'Dense' is not defined

 

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

Recommended Posts

  • 1

يجب عليك أولاً أن تقوم باستيراد الطبقات قبل استخدامها، ومشكلتك هي أنك لم تقم باستيراد الطبقة Dense. فظهر لك هذا الخطأ، وبالتالي يجب أن تضيف إلى نموذجك السطر التالي، من Keras API حيث أنها موجودة في الموديول:

keras.layers.Dense
# وبالتالي نكتب
from keras.layers import  Dense

أو من تنسرفلو حيث تكون في الموديول التالي:

tensorflow.keras.layers.Dense
from tensorflow.keras.layers import Dense

ويمكنك استيراد أي طبقة أخرى بنفس الطريقة، مثلاً نريد أن نقوم باستيراد  ال'طبقة LSTM أو GRU أو conv..إلخ:

# نكتب
from keras.layers import  Conv2D,LSTM,GRU
# أو 
from tensorflow.layers import  Conv2D,LSTM,GRU
# أو
import tensorflow as tf
from tf.layers import  Conv2D,LSTM,GRU
# أو
import tensorflow.layers as layers
from layers import Conv2D,LSTM,GRU

 

تم التعديل في بواسطة Ali Haidar Ahmad
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

بوجة عام، ظهور رسالة

 name 'something' is not defined 

يعني أنك قمت باستخدام متغير أو دالة دون تعريفها مسبقا سواء باستدعائها او بتعريف بالمتغير.

هنا ظهور الرسالة:

name 'Dense' is not defined

لانك قمت باستخدام الدالة dense دون استدعائها مسبقا، كل ما عليك هو استدعائها ببساطه كالتالي:

from keras.datasets import imdb
from keras import preprocessing
from keras.layers import  Dense # استدعاء Dense
max_features = 1000
maxlen = 20
(x_train, y_train), (x_test, y_test) = imdb.load_data(
num_words=max_features)
x_train = preprocessing.sequence.pad_sequences(x_train,maxlen=maxlen) 
x_test = preprocessing.sequence.pad_sequences(x_test, maxlen=maxlen)
from keras.models import Sequential
from keras.layers import Flatten,Embedding
model = Sequential()
model =Sequential()
model.add(Dense(16, activation='relu',input_shape=(20,)))
model.add(Dense(16, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['acc'])
history = model.fit(x_train, y_train,
epochs=3,
batch_size=64,
validation_split=0.2

 

تم التعديل في بواسطة Ahmed Sharshar
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...