【问题标题】:How to use inception layer in transfer learning如何在迁移学习中使用初始层
【发布时间】:2019-12-17 19:12:03
【问题描述】:

我想做迁移学习,我正在加载这些权重文件,但现在我不知道如何使用它的层来训练我的自定义模型。 任何帮助将不胜感激 下面是我试过的示例代码:

local_weights_file= '/tmp/inception_v3_weights_tf_dim_ordering_tf_kernels_notop.h5'

pre_trained_model = InceptionV3(input_shape = (150, 150, 3),
include_top = False,
weights = None)
​
pre_trained_model.load_weights(local_weights_file)
​
for layer in pre_trained_model.layers:
layer.trainable = False

【问题讨论】:

    标签: python machine-learning deep-learning


    【解决方案1】:

    您需要将最后一层的输出输入到最终模型中。 像这样的东西应该可以工作

    last_layer = pre_trained_model.get_layer('mixed7')
    last_output = last_layer.output
    
    
    
    # Flatten the output layer to 1 dimension
    x = layers.Flatten()(last_output)
    # Add a fully connected layer with 1,024 hidden units and ReLU activation
    x = layers.Dense(1024, activation='relu')(x)
    # Add a dropout rate of 0.2
    x = layers.Dropout(0.2)(x)                  
    # Add a final sigmoid layer for classification
    x = layers.Dense  (1, activation='sigmoid')(x)           
    
    model = Model( pre_trained_model.input, x) 
    

    【讨论】:

      猜你喜欢
      • 2016-05-07
      • 2017-11-23
      • 1970-01-01
      • 2021-08-25
      • 2020-08-31
      • 1970-01-01
      • 2018-11-19
      • 2017-09-14
      • 2020-05-13
      相关资源
      最近更新 更多