__init__
__init__(
filters,
kernel_size,
strides=(1, 1),
padding='valid',
data_format='channels_last',
dilation_rate=(1, 1),
activation=None,
use_bias=True,
kernel_initializer=None,
bias_initializer=tf.zeros_initializer(),
kernel_regularizer=None,
bias_regularizer=None,
activity_regularizer=None,
kernel_constraint=None,
bias_constraint=None,
trainable=True,
name=None,
**kwargs
)
初始化自我.请参阅帮助(键入(自我))以获得准确的签名.
__call__
__call__(
inputs,
*args,
**kwargs
)
包装call,应用预处理和后处理步骤.
参数:
inputs:输入张量.
*args:要传递给self.call的其他位置参数.
**kwargs:要传递给self.call的其他关键字参数.注意:kwarg scope保留供图层使用.
返回:
输出张量.
注意:- 如果图层的call方法采用scope关键字参数,则此参数将自动设置为当前变量范围.- 如果图层的call方法采用mask参数(如某些Keras图层那样),则其默认值将设置为inputs前一层生成的蒙版(如果input确实来自生成相应蒙版的图层,即它是否来自具有掩蔽支持的Keras层.
可能引发的异常:
ValueError:如果图层的call方法返回None(无效值).
__deepcopy__
__deepcopy__(memo)
add_loss
add_loss(
losses,
inputs=None
)
添加损失张量,可能取决于图层输入.
一些损失(例如,活动正则化损失)可能取决于调用层时传递的输入.因此,当在不同的输入a和b上重用同一层时,在layer.losses上的一些条目可以取决于a而另外一些可以取决于b.此方法自动跟踪依赖性.
该get_losses_for方法允许检索与特定输入集相关的损失.
请注意,急切执行时不支持add_loss.相反,可以通过add_variable添加变量正则化器.不直接支持活动正规化(但可以从Layer.call()中返回此类损失).
参数:
losses:损失张量,或张量/列表的张量.
inputs:如果传递了除None以外的任何内容,则表示损失是以某些层的输入为条件的,因此它们只应在这些输入可用的地方运行.例如,活动正规化损失就是这种情况.如果None通过,则假定损失是无条件的,并且将应用于层的所有数据流(例如,权重正则化损失).
可能引发的异常:
RuntimeError:如果在Eager模式下调用.
add_update
add_update(
updates,
inputs=None
)
添加更新操作,可能依赖于图层输入.
权重更新(例如,BatchNormalization层中移动均值和方差的更新)可能取决于调用图层时传递的输入.因此,当在不同的输入a和b上重用同一层时,在layer.updates中的一些条目可以取决于a并且另外一些可以取决于b.此方法自动跟踪依赖性.
该get_updates_for方法允许检索与特定输入集相关的更新.
在Eager模式下忽略此调用.
参数:
updates:更新操作,或更新操作的列表/元组.
inputs:如果传递了除None之外的任何内容,则表示更新是以某些层的输入为条件的,因此它们只应在这些输入可用的地方运行.例如,BatchNormalization更新就是这种情况.如果为None,则无条件地考虑更新,并且您有责任确保它们可能具有的任何依赖性在运行时可用.步数计数器可能属于此类别.
add_variable
add_variable(
name,
shape,
dtype=None,
initializer=None,
regularizer=None,
trainable=True,
constraint=None,
partitioner=None
)
向图层添加新变量,或获取现有变量;返回它.
参数:
name: 变量名.
shape:变形.
dtype:变量的类型,默认为self.dtype或float32.
initializer:初始化程序实例(可调用).
regularizer:regularrizer实例(可调用).
trainable:变量是否应该是图层的“trainable_variables”(例如,变量,偏差)或“non_trainable_variables”(例如,BatchNorm mean,stddev)的一部分.注意,如果当前变量范围被标记为不可训练,则忽略此参数,并且任何添加的变量也标记为不可训练.
constraint:约束实例(可调用).
partitioner:(可选)分区程序实例(可调用).如果提供,则在创建请求的变量时,它将根据partitioner分成多个分区.在这种情况下,PartitionedVariable返回一个实例.可用的分区包括tf.fixed_size_partitioner和tf.variable_axis_size_partitioner.
返回:
创建的变量.通常是一个Variable或一个ResourceVariable实例.如果partitioner不是None,则返回PartitionedVariable实例.
可能引发的异常:
RuntimeError:如果使用分区变量正则化调用并且启用了急切执行.
apply
apply(
inputs,
*args,
**kwargs
)
在输入上应用图层.
这只是包装self.__call__.
参数:
inputs:输入张量.
*args:要传递给的其他位置参数self.call.
**kwargs:要传递给的其他关键字参数self.call.
返回:
输出张量.
build
build(input_shape)
创建图层的变量.
call
call(inputs)
图层的逻辑就在这里.
参数:
inputs:输入张量.
**kwargs:其他关键字参数.
返回:
输出张量.
compute_output_shape
compute_output_shape(input_shape)
在给定输入形状的情况下计算图层的输出形状.
参数:
input_shape:一个TensorShape(可能是嵌套的元组).它不需要完全定义(例如批量大小可能是未知的).
返回:
一个TensorShape(可能是嵌套的元组).
可能引发的异常:
TypeError:如果input_shape不是(可能是嵌套的元组)TensorShape.
ValueError:如果input_shape不完整或与图层不兼容.
count_params
count_params()
计算组成权重的标量总数.
返回:
整数计数.
可能引发的异常:
ValueError:如果尚未构建图层(在这种情况下,其权重尚未定义).
get_input_at
get_input_at(node_index)
检索给定节点处的层的输入张量.
参数:
node_index:Integer,用于检索属性的节点的索引.例如,node_index=0将对应于第一次调用图层.
返回:
张量(如果图层有多个输入,则为张量列表).
可能引发的异常:
RuntimeError:如果在Eager模式下调用.
get_input_shape_at
get_input_shape_at(node_index)
检索给定节点处的图层的输入形状.
参数:
node_index:Integer,用于检索属性的节点的索引.例如,node_index=0将对应于第一次调用图层.
返回:
形状元组(如果图层有多个输入,则为形状元组列表).
可能引发的异常:
RuntimeError:如果在Eager模式下调用.
get_losses_for
get_losses_for(inputs)
检索与特定输入集相关的损失.
参数:
inputs:输入张量或输入张量的列表/元组.
返回:
依赖于inputs的层的损失张量列表.
可能引发的异常:
RuntimeError:如果在Eager模式下调用.
get_output_at
get_output_at(node_index)
检索给定节点处的图层的输出张量.
参数:
node_index:Integer,用于检索属性的节点的索引.例如,node_index=0将对应于第一次调用图层.
返回:
张量(如果图层有多个输出,则为张量列表).
可能引发的异常:
RuntimeError:如果在Eager模式下调用.
get_output_shape_at
get_output_shape_at(node_index)
检索给定节点处图层的输出形状.
参数:
node_index:Integer,用于检索属性的节点的索引,例如,node_index=0将对应于第一次调用图层.
返回:
形状元组(如果图层具有多个输出,则为形状元组列表).
可能引发的异常:
RuntimeError:如果在Eager模式下调用.
get_updates_for
get_updates_for(inputs)
检索与特定输入集相关的更新.
参数:
inputs:输入张量或输入张量的列表/元组.
返回:
依赖的层的更新操作列表inputs.
可能引发的异常:
RuntimeError:如果在Eager模式下调用.