Keras读书笔记----网络层(Core常用层)

本文是关于Keras网络层的读书笔记,详细介绍了包括Dense、Activation、Dropout、SpatialDropout及Flatten等在内的核心层的用法,涵盖各层的参数设置和功能作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 所有层共有方法

  • layer.get_weights() :返回层的权重( numpy array)
  • layer.set_weights(weights) :从numpy array中将权重加载到该层中,要求numpy array的形状与get_weights的形状相同
  • layer.get_config() :返回当前层配置信息的字典,层也可以借由配置信息重构
from keras.utils.layer_utils import layer_from_config
config = layer.get_config()
layer = layer_from_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)

2. 常用层

常用层对应于core模块, core内部定义了一系列常用的网络层,包括全连接、激活层等

2.1. Dense层

keras.layers.core.Dense(output_dim, init='glorot_uniform', activation='linear', weights=None, W_regularizer=None, b_regularizer=None, activity_regularizer=None, W_constraint=None, b_constraint=None, bias=True, input_dim=None)
  • output_dim:大于0的整数,代表该层的输出维度。模型中非首层的全连接层其输入维度可以自动推断,因此非首层的全连接定义时不需要指定输入维度。
  • init:初始化方法,为预定义初始化方法名的字符串,或用于初始化权重的Theano函数。该参数仅在不传递 weights 参数时才有意义。
  • activation:激活函数,为预定义的激活函数名,或逐元素( element-wise)的Theano函数。如果不指定该参数,将不会使用任何激活函数(即使用线性激活函数: a(x)=x)
  • weights:权值,为numpy array的list。该list应含有一个形如( input_dim,output_dim)的权重矩阵和一个形如(output_dim,)的偏置向量。
  • W_regularizer:施加在权重上的正则项,为WeightRegularizer对象
  • b_regularizer:施加在偏置向量上的正则项,为WeightRegularizer对象
  • activity_regularizer:施加在输出上的正则项,为ActivityRegularizer对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值