关于Keras的“层”(Layer)

所有的Keras层对象都有如下方法:

  • layer.get_weights():返回层的权重(numpy array)

  • layer.set_weights(weights):从numpy array中将权重加载到该层中,要求numpy array的形状与* layer.get_weights()的形状相同

  • layer.get_config():返回当前层配置信息的字典,层也可以借由配置信息重构:

layer = Dense(32)
config = layer.get_config()
reconstructed_layer = Dense.from_config(config)

或者:

from keras import layers
config = layer.get_config()
layer = layers.deserialize({'class_name': layer.__class__.__name__,
                            'config': config})

如果层仅有一个计算节点(即该层不是共享层),则可以通过下列方法获得输入张量、输出张量、输入数据的形状和输出数据的形状:

  • layer.input

  • layer.output

  • layer.input_shape

  • layer.output_shape

如果该层有多个计算节点(参考层计算节点和共享层)。可以使用下面的方法

  • layer.get_input_at(node_index)

  • layer.get_output_at(node_index)

  • layer.get_input_shape_at(node_index)

  • layer.get_output_shape_at(node_index)