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

Moatasm Elshahry

الأعضاء
  • المساهمات

    15
  • تاريخ الانضمام

  • تاريخ آخر زيارة

أجوبة بواسطة Moatasm Elshahry

  1. لدي مصفوفة على الشكل :

    months=['January','February','March','April','May','June','July','August','September','October','November','December']

    واريد تحويلها لتظهر على الشكل :

    months = {1:'January', 2:'February',....}

    قمت باستخدام enumerate()  لكنها لم تفلح معي رغم اني اعرف انها يمكنها ان تفعل هذا فما الحل؟

    • أعجبني 1
  2. داخل keras، هناك بعض النماذج المدربة مسبقا pretrained model مثل النموذج التالي:

    from keras.applications import VGG16
    model = VGG16(weights='imagenet')

    واريد عمل اعادة تدريب له واضافة طبقات dropout ، مع العلم ان شكل النموذج كالتالي:

    
    Layer (type)                     Output Shape          Param #     Connected to                     
    ====================================================================================================
    input_1 (InputLayer)             (None, 3, 224, 224)   0                                            
    ____________________________________________________________________________________________________
    block1_conv1 (Convolution2D)     (None, 64, 224, 224)  1792        input_1[0][0]                    
    ____________________________________________________________________________________________________
    block1_conv2 (Convolution2D)     (None, 64, 224, 224)  36928       block1_conv1[0][0]               
    ____________________________________________________________________________________________________
    block1_pool (MaxPooling2D)       (None, 64, 112, 112)  0           block1_conv2[0][0]               
    ____________________________________________________________________________________________________
    block2_conv1 (Convolution2D)     (None, 128, 112, 112) 73856       block1_pool[0][0]                
    ____________________________________________________________________________________________________
    block2_conv2 (Convolution2D)     (None, 128, 112, 112) 147584      block2_conv1[0][0]               
    ____________________________________________________________________________________________________
    block2_pool (MaxPooling2D)       (None, 128, 56, 56)   0           block2_conv2[0][0]               
    ____________________________________________________________________________________________________
    block3_conv1 (Convolution2D)     (None, 256, 56, 56)   295168      block2_pool[0][0]                
    ____________________________________________________________________________________________________
    block3_conv2 (Convolution2D)     (None, 256, 56, 56)   590080      block3_conv1[0][0]               
    ____________________________________________________________________________________________________
    block3_conv3 (Convolution2D)     (None, 256, 56, 56)   590080      block3_conv2[0][0]               
    ____________________________________________________________________________________________________
    block3_pool (MaxPooling2D)       (None, 256, 28, 28)   0           block3_conv3[0][0]               
    ____________________________________________________________________________________________________
    block4_conv1 (Convolution2D)     (None, 512, 28, 28)   1180160     block3_pool[0][0]                
    ____________________________________________________________________________________________________
    block4_conv2 (Convolution2D)     (None, 512, 28, 28)   2359808     block4_conv1[0][0]               
    ____________________________________________________________________________________________________
    block4_conv3 (Convolution2D)     (None, 512, 28, 28)   2359808     block4_conv2[0][0]               
    ____________________________________________________________________________________________________
    block4_pool (MaxPooling2D)       (None, 512, 14, 14)   0           block4_conv3[0][0]               
    ____________________________________________________________________________________________________
    block5_conv1 (Convolution2D)     (None, 512, 14, 14)   2359808     block4_pool[0][0]                
    ____________________________________________________________________________________________________
    block5_conv2 (Convolution2D)     (None, 512, 14, 14)   2359808     block5_conv1[0][0]               
    ____________________________________________________________________________________________________
    block5_conv3 (Convolution2D)     (None, 512, 14, 14)   2359808     block5_conv2[0][0]               
    ____________________________________________________________________________________________________
    block5_pool (MaxPooling2D)       (None, 512, 7, 7)     0           block5_conv3[0][0]               
    ____________________________________________________________________________________________________
    flatten (Flatten)                (None, 25088)         0           block5_pool[0][0]                
    ____________________________________________________________________________________________________
    fc1 (Dense)                      (None, 4096)          102764544   flatten[0][0]                    
    ____________________________________________________________________________________________________
    fc2 (Dense)                      (None, 4096)          16781312    fc1[0][0]                        
    ____________________________________________________________________________________________________
    predictions (Dense)              (None, 1000)          4097000     fc2[0][0]                        
    ====================================================================================================
    Total params: 138,357,544
    Trainable params: 138,357,544
    Non-trainable params: 0
    ____________________________________________________________________________________________________

    كيف يمكنني فعل هذا؟

    • أعجبني 1
  3. انا احاول ان اقوم بعمل تبديل لطبقة  Con2D باخري ممثالة لكن بدون bias. كذلك احاول اضافة  BatchNormalization قبل اول طبقة activation.

    def keras_simple_model():
        from keras.models import Model
        from keras.layers import Input, Dense,  GlobalAveragePooling2D
        from keras.layers import Conv2D, MaxPooling2D, Activation
    
        inputs1 = Input((28, 28, 1))
        x = Conv2D(4, (3, 3), activation=None, padding='same', name='conv1')(inputs1)
        x = Activation('relu')(x)
        x = Conv2D(4, (3, 3), activation=None, padding='same', name='conv2')(x)
        x = Activation('relu')(x)
        x = MaxPooling2D((2, 2), strides=(2, 2), name='pool1')(x)
    
        x = Conv2D(8, (3, 3), activation=None, padding='same', name='conv3')(x)
        x = Activation('relu')(x)
        x = Conv2D(8, (3, 3), activation=None, padding='same', name='conv4')(x)
        x = Activation('relu')(x)
        x = MaxPooling2D((2, 2), strides=(2, 2), name='pool2')(x)
    
        x = GlobalAveragePooling2D()(x)
        x = Dense(10, activation=None)(x)
        x = Activation('softmax')(x)
    
        model = Model(inputs=inputs1, outputs=x)
        return model
    
    
    if __name__ == '__main__':
        model = keras_simple_model()
        print(model.summary())

    كيف استطيع ان اقوم بهذا؟

  4. أنا احاول ان احصل على اوزان الطبقات في keras، قمت بكتابة الكود

    import tensorflow as tf
    import tensorflow.contrib.keras.api.keras.backend as K
    from tensorflow.contrib.keras.api.keras.layers import Dense
    
    tf.reset_default_graph()
    init = tf.global_variables_initializer()
    sess =  tf.Session()
    K.set_session(sess) 
    
    input_x = tf.placeholder(tf.float32, [None, 10], name='input_x')    
    dense1 = Dense(10, activation='relu')(input_x)
    
    sess.run(init)
    
    dense1.get_weights()

    لمحاولة عمل هذا لكن تظهر لي تلك المشكلة:

    AttributeError: 'Tensor' object has no attribute 'weights'

    ما الحل لتلك المشكلة؟

  5. لدي مسار ملفات يحتوى على عدد من الملفات بداخله والتى تحتوى على عدد من الصور، اريد تقسيم هذة الصور بين train و test باستخدام ImageDataGenerator  في كيراس.

    قمت باستخدام الكود التالي لكن لا اعرف كيف اقسم ال training و ال testing :

    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=32,
        class_mode='binary')
    
    model.fit_generator(
        train_generator,
        samples_per_epoch=nb_train_samples,
        nb_epoch=nb_epoch,
        validation_data=??,
        nb_val_samples=nb_validation_samples)

     

×
×
  • أضف...