Meezo ML نشر 3 يوليو 2021 أرسل تقرير نشر 3 يوليو 2021 أقوم بتدريب شبكة عصبونية للتعرف على الأرقام mnist ولكنها لا تعمل على google colab import numpy as np import pandas as pd from keras.models import Sequential from keras.layers import Dense , Activation, Dropout from keras.models import Sequential from keras.utils.np_utils import to_categorical from keras.datasets import mnist (x_train, y_train),(x_vaild, y_vaild) = mnist.load_data() y_train = to_categorical(y_train) y_vaild = to_categorical(y_vaild) image_size = x_train.shape[1] input_size = image_size * image_size x_train = np.reshape(x_train, [-1, input_size]) x_train = x_train.astype('float32') / 255 x_test = np.reshape(x_test, [-1, input_size]) x_test = x_test.astype('float32') / 255 batch_size = 32 hidden_units = 256 model = Sequential() model.add(Dense(hidden_units, input_dim=input_size)) model.add(Activation('relu')) model.add(Dropout(0,45)) model.add(Dense(hidden_units)) model.add(Activation('relu')) model.add(Dropout(0,45)) model.add(Dense(10)) model.add(Activation('softmax')) model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) model.fit(x_train, y_train, epochs=5,validation_data=[x_vaild, y_vaild], batch_size=batch_size)) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-10-51503a456d4c> in <module>() 34 model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) 35 ---> 36 model.fit(x_train, y_train, epochs=5,validation_data=[x_vaild, y_vaild], batch_size=batch_size) 9 frames /usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/func_graph.py in wrapper(*args, kwargs) 984 except Exception as e: # pylint:disable=broad-except 985 if hasattr(e, "ag_error_metadata"): --> 986 raise e.ag_error_metadata.to_exception(e) 987 else: 988 raise TypeError: in user code: /usr/local/lib/python3.7/dist-packages/keras/engine/training.py:830 train_function * return step_function(self, iterator) /usr/local/lib/python3.7/dist-packages/keras/engine/training.py:813 run_step * outputs = model.train_step(data) /usr/local/lib/python3.7/dist-packages/keras/engine/training.py:770 train_step * y_pred = self(x, training=True) /usr/local/lib/python3.7/dist-packages/keras/engine/base_layer.py:1006 __call__ * outputs = call_fn(inputs, *args, **kwargs) /usr/local/lib/python3.7/dist-packages/keras/engine/sequential.py:375 call * return super(Sequential, self).call(inputs, training=training, mask=mask) /usr/local/lib/python3.7/dist-packages/keras/engine/functional.py:416 call * inputs, training=training, mask=mask) /usr/local/lib/python3.7/dist-packages/keras/engine/functional.py:551 _run_internal_graph * outputs = node.layer(*args, **kwargs) /usr/local/lib/python3.7/dist-packages/keras/engine/base_layer.py:1006 __call__ * outputs = call_fn(inputs, *args, **kwargs) /usr/local/lib/python3.7/dist-packages/keras/layers/core.py:205 dropped_inputs * inputs, /usr/local/lib/python3.7/dist-packages/keras/utils/control_flow_util.py:107 smart_cond * pred, true_fn=true_fn, false_fn=false_fn, name=name) /usr/local/lib/python3.7/dist-packages/keras/layers/core.py:195 _get_noise_shape * for i, value in enumerate(self.noise_shape): /usr/local/lib/python3.7/dist-packages/tensorflow/python/autograph/operators/py_builtins.py:400 enumerate_ return _py_enumerate(s, start) /usr/local/lib/python3.7/dist-packages/tensorflow/python/autograph/operators/py_builtins.py:408 _py_enumerate return enumerate(s, start) TypeError: 'int' object is not iterable اقتباس
2 Ali Haidar Ahmad نشر 3 يوليو 2021 أرسل تقرير نشر 3 يوليو 2021 يوجد خطأن الأول في dropout هو فقط ضع مكان السطر model.add(Dropout(0,45)) السطر التالي: model.add(Dropout(0.45)) والثاني أنه في مجموعة التحقق validation_data في السطر التالي: model.fit(x_train, y_train, epochs=5,validation_data=[x_vaild, y_vaild], batch_size=batch_size) يأخذ tuple و ليس مصفوفة أي يصبح السطر هكذا: model.fit(x_train, y_train, epochs=5,validation_data=(x_vaild, y_vaild), batch_size=batch_size) 1 اقتباس
0 ريم المهدي نشر 11 يوليو 2021 أرسل تقرير نشر 11 يوليو 2021 بالإضافة للأخطاء التي قام بتحديدها @Ali Haidar Ahmad هنالك ثلاث أخطاء أخرى في البرنامج: File "<ipython-input-9-12a8c3b757d3>", line 29 model.fit(x_train, y_train, epochs=5,validation_data=[x_vaild, y_vaild], batch_size=batch_size)) ^ SyntaxError: invalid syntax والذي يظهر نتيجة للقوس الزائد بأخر سطر في البرنامج. ValueError: Input 0 of layer sequential_4 is incompatible with the layer: expected axis -1 of input shape to have value 784 but received input with shape (None, 28, 28) والذي يظهر نتيجة للخلط بين إستخدام x_vaild و x_test في مسألة تحويل شكل البيانات في الأسطر 13-16. عند تعديل الخطأ السابق و تحويل كل x_valid , y_valid إلى x_test, y_test يظهر الخطأ أدناه: ValueError: Input 0 of layer sequential_5 is incompatible with the layer: expected axis -1 of input shape to have value 784 but received input with shape (None, 28, 28) والذي يكون نتيجة لإستخدام x_vaild, y_vaild للتحقق و هما متغيران يأخذان الشكل المخزن في الذاكرة قبل التغيير لقيم x_test, y_test في هذه الحالة يمكننا إستخدام x_train, y_train لعملية التحقق و يصبح شكل البرنامج النهائي كالتالي: import numpy as np import pandas as pd from keras.models import Sequential from keras.layers import Dense , Activation, Dropout from keras.models import Sequential from keras.utils.np_utils import to_categorical from keras.datasets import mnist (x_train, y_train),(x_test, y_test) = mnist.load_data() y_train = to_categorical(y_train) y_vaild = to_categorical(y_vaild) image_size = x_train.shape[1] input_size = image_size * image_size x_train = np.reshape(x_train, [-1, input_size]) x_train = x_train.astype('float32') / 255 x_test = np.reshape(x_test, [-1, input_size]) x_test = x_test.astype('float32') / 255 batch_size = 32 hidden_units = 256 model = Sequential() model.add(Dense(hidden_units, input_dim=input_size)) model.add(Activation('relu')) model.add(Dropout(0.45)) model.add(Dense(hidden_units)) model.add(Activation('relu')) model.add(Dropout(0.45)) model.add(Dense(10)) model.add(Activation('softmax')) model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) model.fit(x_train, y_train, epochs=5,validation_data=(x_train, y_train), batch_size=batch_size) اقتباس
السؤال
Meezo ML
أقوم بتدريب شبكة عصبونية للتعرف على الأرقام mnist ولكنها لا تعمل على google colab
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.