keras计算指定层的输出

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,但是不训练的层,还是需要做计算,每次做训练,都需要对数据进行重复的计算,会浪费机器的性能

可以在训练前,计算出数据冻结层的最终输出,来提高训练效率

原文地址:https://www.cnblogs.com/yytxdy/p/11852785.html