import keras model = keras.models.Sequential([ keras.layers.Dense(4, activation='relu', input_dim=1, name='layer1', kernel_initializer='one'), keras.layers.Dense(1, activation='sigmoid', name='layer2') ]) model.compile(optimizer='adam', loss='mse') model.summary() input = [0, 2, 4, 8] print(keras.models.Model(inputs=model.inputs, outputs=model.get_layer('layer1').output).predict(input)) print(keras.models.Model(inputs=model.inputs, outputs=model.get_layer('layer2').output).predict(input))
在做迁移学习的时候,对于不需要训练的层,可以设置trainable=False,但是不训练的层,还是需要做计算,每次做训练,都需要对数据进行重复的计算,会浪费机器的性能
可以在训练前,计算出数据冻结层的最终输出,来提高训练效率