
Chollet ML
الأعضاء-
المساهمات
36 -
تاريخ الانضمام
-
تاريخ آخر زيارة
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Chollet ML
-
عند التعامل مع TensorFlow فإنه يقوم بشكل افتراضي بتخصيص كامل طاقة ال GPU المتاحة، حتى لو كانت الشبكة العصبية صغيرة جداً، فمثلاً أنا لدي GPU ب 8 جيجابايت، لكن لا أريد أن يتم تخصيصها كاملةً لمهمة واحدة (تدريب شبكة واحدة) هل أستطيع تخصيص حجم معين فقط لمهمة معينة؟
-
استخدم تنسرفلو لتدريب نموذج لكن لم أفهم بدقة ماذا تعني ال epoch، من المعروف أن ال iteration هو عملية forward و backward على البيانات (مرور على البيانات ثم تحديث قيم الأوزان في الشبكة)، لكن ماهو ال epoch ؟ ولماذا لانستخدم مصطلح ال iteration؟ Epoch 1/5 105/938 [==>...........................] - ETA: 51s - loss: 0.6753 - acc: 0.7948
- 1 جواب
-
- 1
-
-
في التوثيق الخاص بالدالة softmax في تنسرفلو يتم تعريف الدالة بالشكل التالي : tf.nn.softmax( logits, axis=None, name=None ) # أيضاً هناك دالة أخرى معرفة بالشكل التالي tf.nn.softmax_cross_entropy_with_logits(logits, labels, name=None) ما المقصود بال logits وما الفرق بين الدالتين السابقتين؟
- 1 جواب
-
- 1
-
-
كيف يمكننا معرفة نسخة تنسرفلو الحالية TensorFlow Version؟
-
أحاول تثبيت تنسرفلو باستخدام pip، لكن يظهر لي هذا الخطأ، مالحل؟ $ pip install tensorflow --user Collecting tensorflow Could not find a version that satisfies the requirement tensorflow (from versions: ) No matching distribution found for tensorflow
- 1 جواب
-
- 1
-
-
أثناء عملي على تنسرفلو tensorflow-1.4.0 قمت ببناء الكود التالي، لكن يظهر لي هذا التحذير، ما المشكلة؟ import tensorflow tens = tensorflow.constant('Hello, TensorFlow!') sess = tensorflow.Session() sess.run(tens) 'Hello, TensorFlow!' sess.run(tensorflow.constant(4) +tensorflow.constant(5)) # 9 sess.close() ---------------------------------- 2017-11-02 01:56:21.698935: I C:\tf_jenkins\home\workspace\rel-win\M\windows\PY\36\tensorflow\core\platform\cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2
-
قمت ببناء النموذج التالي في كيراس لكن يظهر لي الخطأ التالي: from keras.datasets import reuters import keras import tensorflow as tf (train_data, train_labels), (test_data, test_labels) = reuters.load_data( num_words=10000) import numpy as np def vectorize_sequences(sequences, dimension=10000): results = np.zeros((len(sequences), dimension)) for i, sequence in enumerate(sequences): results[i, sequence] = 1. return results x_train = vectorize_sequences(train_data) x_test = vectorize_sequences(test_data) from keras.utils.np_utils import to_categorical one_hot_train_labels = to_categorical(train_labels) one_hot_test_labels = to_categorical(test_labels) x_val = x_train[:1000] partial_x_train = x_train[1000:] # هنا y_val = one_hot_train_labels[:1000] partial_y_train = one_hot_train_labels[1000:] # الآن: partial_x_train.shape # (7982, 10000) partial_y_train.shape # (7982, 46) from keras import models from keras import layers model = models.Sequential() model.add(layers.Dense(64, activation='relu', input_shape=(1000,))) model.add(keras.layers.LayerNormalization()) model.add(layers.Dense(64, activation='relu')) model.add(keras.layers.LayerNormalization()) model.add(layers.Dense(46, activation='softmax')) model.compile(optimizer='rmsprop', loss='categorical_crossentropy', metrics=['CategoricalAccuracy']) history = model.fit(tf.convert_to_tensor(partial_x_train, np.float32), partial_y_train, epochs=6, batch_size=512, validation_data=(x_val, y_val)) ---------------------------------------------------------- ValueError: Input 0 of layer sequential_7 is incompatible with the layer: expected axis -1 of input shape to have value 1000 but received input with shape (None, 10000)
-
قمت ببناء نموذج لتصنيف الأخبار على بيانات راوترز، لكن يظهر لي الخطأ التالي عند محاولة تدريب نموذجي؟ from keras.datasets import reuters import keras import tensorflow as tf (train_data, train_labels), (test_data, test_labels) = reuters.load_data( num_words=10000) import numpy as np def vectorize_sequences(sequences, dimension=10000): results = np.zeros((len(sequences), dimension)) for i, sequence in enumerate(sequences): results[i, sequence] = 1. return results x_train = vectorize_sequences(train_data) x_test = vectorize_sequences(test_data) from keras.utils.np_utils import to_categorical one_hot_train_labels = to_categorical(train_labels) one_hot_test_labels = to_categorical(test_labels) x_val = x_train[:1000] partial_x_train = x_train[1000:] from keras import models from keras import layers model = models.Sequential() model.add(layers.Dense(64, activation='relu', input_shape=(10000,))) model.add(keras.layers.LayerNormalization()) model.add(layers.Dense(64, activation='relu')) model.add(keras.layers.LayerNormalization()) model.add(layers.Dense(46, activation='softmax')) model.compile(optimizer='rmsprop', loss='categorical_crossentropy', metrics=['CategoricalAccuracy']) #fit تدريب النموذج من خلال الدالة history = model.fit(tf.convert_to_tensor(partial_x_train, np.float32), one_hot_train_labels, epochs=6, batch_size=512, validation_data=(x_val, one_hot_test_labels),max_queue_size=10) --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-2-b9508248cdf2> in <module>() 34 epochs=6, 35 batch_size=512, ---> 36 validation_data=(x_val, one_hot_test_labels),max_queue_size=10) 4 frames /usr/local/lib/python3.7/dist-packages/keras/engine/data_adapter.py in _check_data_cardinality(data) 1647 label, ", ".join(str(i.shape[0]) for i in tf.nest.flatten(single_data))) 1648 msg += "Make sure all arrays contain the same number of samples." -> 1649 raise ValueError(msg) 1650 1651 ValueError: Data cardinality is ambiguous: x sizes: 7982 y sizes: 8982 Make sure all arrays contain the same number of samples. ما المشكلة وما السبب؟ وما هو الحل؟
-
ماذا تفعل الدالة fit في كيراس Keras وكيف نستخدمها؟
-
ما الفرق بين تمرير دالة التنشيط كوسيط كما في المثال التالي : from tensorflow.keras import layers model.add(layers.Dense(64, activation='relu')) أو استخدامها كطبقة Activation مستقلة: from tensorflow.keras import layers from tensorflow.keras import activations model.add(layers.Dense(64)) model.add(layers.Activation(activations.relu))
- 1 جواب
-
- 1
-
-
أقوم ببناء نموذج لتصنيف الأرقام المكتوبة بخط اليد اعتماداً على مجموعة بيانات 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 جواب
-
- 1
-
-
ما هي فكرة ال Layer Normalization وكيف نستخدمها في كيراس؟
- 1 جواب
-
- 1
-
-
ما هو الفرق بين val_acc و acc، فأثناء قراءتي لإحدى النماذج رأيتهم لكن لم أفهم سبب وجود val_acc؟ Epoch 5/200 727722/727722 [==============================] - 50s - loss: 0.3167 - acc: 0.9557 - val_loss: 0.5473 - val_acc: 0.7455 Epoch 6/200 727722/727722 [==============================] - 50s - loss: 0.3152 - acc: 0.9573 - val_loss: 0.5497 - val_acc: 0.7404 Epoch 6/200 727722/727722 [==============================] - 60s - loss: 0.3136 - acc: 0.9581 - val_loss: 0.6518 - val_acc: 0.7001
-
أتتبع دورة تعليمية، في كيراس، لكن عند محاولتي تطبيق ذلك ظهر لي الخطأ التالي: from keras.layers import Conv2D, MaxPooling2D,Dense, Dropout, Activation, Flatten from keras.models import Sequential from keras.preprocessing.image import ImageDataGenerator --------------------------------------------------------------------------- ImportError Traceback (most recent call last) <ipython-input-13-3a12c6f32fcf> in <module>() ----> 1 from keras.layers import Conv2D, MaxPooling2D,Dense, Dropout, Activation, Flatten ImportError: cannot import name Conv2D
- 1 جواب
-
- 1
-
-
قمت بتثبيت بيئة أناكوندا Anaconda 4.4.1 وأحاول تنفيذ نموذج في كيراس على جوبيتر لكن يظهر لي الخطأ التالي عند محاولة استيرادها: import keras ----------------------------------------------------- Traceback (most recent call last): File "<ipython-input-3-c74e2bd4ca71>", line 1, in <module> ImportError: No module named 'keras'
- 1 جواب
-
- 1
-
-
ماهي دالة التنشيط selu وكيف نقوم باستخدامها في كيراس Keras؟
-
قمت ببناء النموذج التالي لتصنيف حالة السائق (مستيقظ/ نائم)، حيث أريد تدريبه على صور أبعادها 100*100، لكن عندما أحاول تدريبه يظهر لي الخطأ التالي: img = cv2.imread(r"C:\Users\Windows.10\Desktop\Safedrive\safe\train\ClosedFace\closed_eye_0509.jpg_face_1.jpg") print(img.shape) # (100, 100, 3) # dimensions of our images. img_width, img_height = 100, 100 train_data_dir = r'C:\Users\Windows.10\Desktop\Safedrive\safe\train' validation_data_dir = r'C:\Users\Windows.10\Desktop\Safedrive\safe\val' batch_size=16 train_datagen = ImageDataGenerator( rescale=1. / 255, shear_range=0.2, zoom_range=0.2, horizontal_flip=True) train_generator = train_datagen.flow_from_directory( train_data_dir, target_size=(img_width, img_height), batch_size=batch_size, class_mode='binary') # validation data val_datagen = ImageDataGenerator(rescale=1. / 255) validation_generator = val_datagen.flow_from_directory( validation_data_dir, target_size=(img_width, img_height), batch_size=batch_size, class_mode='binary') print(train_generator.class_indices) from keras.layers import BatchNormalization def Model(): #Instantiation model = Sequential() #1st Convolutional Layer model.add(Conv2D(64, (3, 3), input_shape=(3,100,100))) model.add(Activation('relu')) model.add(MaxPooling2D(pool_size=(2, 2))) #2nd Convolutional Layer model.add(Conv2D(64, (3, 3))) model.add(Activation('relu')) model.add(MaxPooling2D(pool_size=(2, 2))) #3rd Convolutional Layer model.add(Conv2D(128, (3, 3))) model.add(Activation('relu')) model.add(MaxPooling2D(pool_size=(2, 2))) #Passing it to a Fully Connected layer model.add(Flatten()) # 1st Fully Connected Layer model.add(Dense(124)) model.add(Activation('relu')) # Add Dropout to prevent overfitting model.add(Dropout(0.5)) #Output Layer model.add(Dense(1)) model.add(Activation('sigmoid')) #Compiling model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) # View model layers #model.summary() return model # Fitting model=Model() epochs=2 model.fit_generator( train_generator, steps_per_epoch=nb_train_samples // batch_size, epochs=epochs, validation_data=validation_generator, validation_steps=nb_validation_samples // batch_size) ------------------------------------------------------------------------------------- ValueError: Negative dimension size caused by subtracting 2 from 1 for '{{node max_pooling2d_9/MaxPool}} = MaxPool[T=DT_FLOAT, data_format="NHWC", explicit_paddings=[], ksize=[1, 2, 2, 1], padding="VALID", strides=[1, 2, 2, 1]](Placeholder)' with input shapes: [?,1,98,64]. ما المشكلة؟وما الحل؟
-
ماهي دالة التنشيط elu وكيف نقوم باستخدامها في كيراس Keras؟
-
قمت ببناء النموذج التالي، لكن لم أفهم سبب الخطأ؟ حيث بعد أن دربته قمت بحفظه ثم قمت بإعادة تحميله و تنفيذ compile له. علماً أنني أتعامل مع مجموعة بيانات MINST الشهيرة. K.set_image_dim_ordering('th') numpy.random.seed(7) from keras.datasets import mnist # تحميل البيانات (X_train, y_train), (X_test, y_test) = mnist.load_data() # تحضير البيانات X_train = X_train.reshape(X_train.shape[0], 1, 28, 28) X_test = X_test.reshape(X_test.shape[0], 1, 28, 28) X_train=X_train.astype('float32')/ 255.0 X_test=X_test.astype('float32')/ 255.0 #label ترميز ال y_train = np_utils.to_categorical(y_train) y_test = np_utils.to_categorical(y_test) model = Sequential() model.add(Convolution2D(32, 3, 3, input_shape=(1, 28, 28), activation='tanh')) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Convolution2D(16, 3, 3, activation='tanh')) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Dropout(0.4)) model.add(Flatten()) model.add(Dense(100, activation='tanh')) model.add(Dense(y_test.shape[1], activation='softmax')) # تجميع المعلومات model.compile(loss='categorical_crossentropy', optimizer='rmsprop', metrics=['acc']) # بناء النموذج model = larger_model() # تدريبه model.fit(X_train, y_train, epochs=12, batch_size=128,validation_data=(X_test, y_test)) # تقييم النموذج scores = model.evaluate(X_test, y_test) print("Baseline Error: %.2f%%" % (100-scores[1]*100)) # حفظه model_json = model.to_json() with open('mnist_model.json', 'w') as f: f.write(model_json) model.save_weights("mnist_weights.h5") # تحميله with open('mnist_model.json') as f: model_json = f.read() model = model_from_json(model_json) model.load_weights('mnist_weights.h5') # تجميع المعلومات model.compile(loss='sparse_categorical_crossentropy', optimizer='rmsprop', metrics=['acc']) scores = model.evaluate(X_test, y_test) print("Baseline Error: %.2f%%" % (100-scores[1]*100))
-
أريد توضيح لدالة التنشيط softsign وكيف نستخدمها في كيراس Keras؟
-
قمت ببناء النموذج التالي، لكن عندما أحاول أن أقوم بتدريبه يظهر لي الخطأ التالي: from keras.datasets import reuters (train_data, train_labels), (test_data, test_labels) = reuters.load_data( num_words=100) # تررميز البيانات import numpy as np def vectorize_sequences(sequences, dimension=100): results = np.zeros((len(sequences), dimension)) for i, sequence in enumerate(sequences): results[i, sequence] = 1. return results x_train = vectorize_sequences(train_data) x_test = vectorize_sequences(test_data) from keras.utils.np_utils import to_categorical one_hot_train_labels = to_categorical(train_labels) one_hot_test_labels = to_categorical(test_labels) # بناء النموذج from keras import models from keras import layers model = models.Sequential() model.add(layers.Dense(64, activation='relu', input_shape=(100,))) model.add(layers.Dense(64, activation='relu')) model.add(layers.Dense(46, activation='softmax')) # التجميع model.compile(optimizer='rmsprop', loss='SparseCategoricalCrossentropy', metrics=['CategoricalAccuracy']) # التدريب history = model.fit(x_train, one_hot_train_labels, epochs=10, batch_size=512) model.save("model.h5") --------------------------------------------------------------------------- InvalidArgumentError: logits and labels must have the same first dimension, got logits shape [512,46] and labels shape [23552] [[node sparse_categorical_crossentropy/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits (defined at <ipython-input-10-de26530fc6fc>:31) ]] [Op:__inference_train_function_3812] Function call stack: train_function
-
ماهي دالة التنشيط softplus في كيراس Keras وكيف نستخدمها؟ وما هو الفرق بينها وبين دوال التنشيط الأخرى؟
-
قمت ببناء النموذج التالي في كيراس لتصنيف الأخبار لكن يظهر لي الخطأ التالي: from keras.datasets import reuters (train_data, train_labels), (test_data, test_labels) = reuters.load_data( num_words=10000) # تررميز البيانات import numpy as np def vectorize_sequences(sequences, dimension=10000): results = np.zeros((len(sequences), dimension)) for i, sequence in enumerate(sequences): results[i, sequence] = 1. return results x_train = vectorize_sequences(train_data) x_test = vectorize_sequences(test_data) from keras.utils.np_utils import to_categorical one_hot_train_labels = to_categorical(train_labels) one_hot_test_labels = to_categorical(test_labels) x_val = x_train[:1000] partial_x_train = x_train[1000:] y_val = one_hot_train_labels[:1000] partial_y_train = one_hot_train_labels[1000:] # بناء النموذج from keras import models from keras import layers model = models.Sequential() model.add(layers.Dense(64, activation='relu', input_shape=(10000,))) model.add(layers.Dense(64, activation='relu')) model.add(layers.Dense(46, activation='softmax')) history = model.fit(partial_x_train, partial_y_train, epochs=6, batch_size=512, validation_data=(x_val, y_val)) --------------------------------------------------------------------------- RuntimeError Traceback (most recent call last) <ipython-input-3-4d4f3289469d> in <module>() 3 epochs=6, 4 batch_size=512, ----> 5 validation_data=(x_val, y_val)) 1 frames /usr/local/lib/python3.7/dist-packages/keras/engine/training.py in _assert_compile_was_called(self) 2666 # (i.e. whether the model is built and its inputs/outputs are set). 2667 if not self._is_compiled: -> 2668 raise RuntimeError('You must compile your model before ' 2669 'training/testing. ' 2670 'Use `model.compile(optimizer, loss)`.') RuntimeError: You must compile your model before training/testing. Use `model.compile(optimizer, loss)`. ما المشكلة؟
-
ماهي فكرة ال BatchNormalization وكيف نقوم بتطبيقها في كيراس Keras؟
-
أحاول حفظ معلومات التدريب training history (نتائج ال loss وال accuracy خلال عملية التدريب بعد كل epoch) لكن يظهر لي الخطأ التالي: # تحميل الداتا from keras.datasets import boston_housing import keras (train_data, train_targets), (test_data, test_targets) = boston_housing.load_data() # توحيد البيانات mean = train_data.mean(axis=0) train_data -= mean std = train_data.std(axis=0) train_data /= std test_data -= mean test_data /= std from keras import models from keras import layers # بناء النموذج def build_model(): model = models.Sequential() model.add(layers.Dense(64, activation='relu', input_shape=(train_data.shape[1],))) model.add(layers.Dense(64, activation='relu')) model.add(layers.Dense(1)) model.compile(optimizer='rmsprop', loss="mae", metrics=['mae']) return model # تدريب النموذج model = build_model() # قمنا بتدريب النموذج history=model.fit(train_data, train_targets,epochs=2, batch_size=64) import pickle with open('/f', 'wb') as f: pickle.dump(history, f) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-25-87b712a3ea34> in <module>() 1 import pickle 2 with open('/HistoryDict', 'wb') as f: ----> 3 pickle.dump(history, f) TypeError: can't pickle weakref objects