关于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
cofig = 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)