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

السؤال

نشر

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

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...