TensorFlow中与CRF有关的操作
tf.contrib.crf.CrfForwardRnnCell
tf.contrib.crf.CrfForwardRnnCell 类
定义在:tensorflow/contrib/crf/python/ops/crf.py
参考指南:CRF(contrib)
计算线性链 CRF 中的 alpha 值.
属性
- graph
- losses
- non_trainable_variables
- non_trainable_weights
- output_size
- scope_name
- state_size
- trainable_variables
- trainable_weights
- updates
- variables
返回所有图层变量/权重的列表.
返回:
变量列表.
weights
返回所有图层变量/权重的列表.
返回:
变量列表.
方法
__init__
__init__ ( transition_params )
初始化 CrfForwardRnnCell.
ARGS:
- transition_params:二进制的一个 [num_tags,num_tags] 矩阵.该矩阵被扩展为 [1,num_tags,num_tags],以准备在单元内发生的广播求和.
__call__
__call__ (
inputs,
state,
scope = None
)
构建 CrfForwardRnnCell.
ARGS:
- inputs:一元电位的 [batch_size, num_tags] 矩阵.
- state:包含以前的 alpha 值的 [batch_size,num_tags] 矩阵.
- scope:这个单元格的未使用的变量范围.
返回:
new_alphas, new_alphas: 一对 [batch_size, num_tags] 矩阵值, 包含新的 alpha 值.
__deepcopy__
__deepcopy__ (memo)
add_loss
add_loss (
losses,
inputs = None
)
添加损失张量,可能依赖于层输入.
一些损失(例如,活动正则化损失)可能取决于调用层时传递的输入.因此,用复在不同的输入侧的相同的层时a状语从句:b,一些在条目layer.losses可以取决于a状语从句:一些上b.该方法自动跟踪依赖关系.因此,当在不同的输入 a 和 b 上重用同一层时,一些在 layer.losses 中的条目可能有的依赖于 a,有的依赖于 b.此方法自动跟踪依赖项.
该 get_losses_for 方法允许检索与特定输入集相关的损失.
参数:
- losses:张量的损失或张量的列表/元组.
- inputs:损失依赖的可选输入张量,必须匹配在创建³³损失时inputs传递给__call__方法的参数.必须匹配在创建损失时传递给 __call__ 方法的输入参数.如果 None 被传递,则假设损失是无条件的, 并将适用于所有的 dataflows 层 (如权重正则化损失).
add_update
add_update (
updatas,
inputs = None
)
添加更新操作,可能依赖于输入层.
权重更新(例如,BatchNormalization 层中移动平均值和方差的更新)可能依赖于调用层时传递的输入.因此, 当在不同的输入 a 和 b 上重用同一层时,一些 layer.updates 中的条目可能有的依赖于 a 有的依赖于 b .此方法自动跟踪依赖项.
该get_updates_for方法允许检索与特定输入集相关的更新.
参数:
- updates:更新操作,或更新操作的列表/元组.
- inputs:更新所依赖的可选输入张量,在创建更新时必须匹配传递给 __call__ 方法的输入参数.如果 None 被传递,则更新被假定为无条件的,并将适用于该层的所有数据流.
add_variable
add_variable (
name ,
shape ,
dtype = None ,
initializer = None ,
regularizer = None ,
trainable = True
)
向图层添加一个新的变量,或者获取一个现有的变量;返回它.
参数:
- name:变量名
- shape:变量形状.
- dtype:变量的类型,默认为 self.dtype.
- initializer:初始值设定实例(可调用).
- regularizer:正则化实例(可调用).
- trainable:变量是否应该是层的 “trainable_variables”(例如变量,偏差)或 “non_trainable_variables”(例如 BatchNorm 的意思是偏差)的一部分.
返回:
创建的变量.
apply
apply (
inputs ,
* args ,
** kwargs
)
在输入上应用图层.
这只是包装 self.__call__.
参数:
- inputs:输入张量.
- *args:要传递给 self.call 的其他位置变量.
- ** kwargs:要传递 self.call 的附加关键字参数.
返回:
输出张量(S).
build
build( _ )
call
call(
inputs,
** kwargs
)
层的逻辑存在在这里.
参数:
- inputs:输入张量(s).
- ** kwargs:附加的关键字参数.
返回:
输出张量(S).
get_losses_for
get_losses_for (inputs)
检索与特定输入集相关的损失.
参数:
- inputs:输入张量或输入张量的列表/元组.必须匹配在创建损失时传递给 __call__ 方法的输入参数.如果您通过 inputs = None,则无条件的损失返回,例如权重正则化损失.
返回:
依赖输入的层的损失张量列表.
get_updates_for
get_updates_for (inputs)
检索与特定输入集相关的更新.
参数:
- inputs:输入张量或输入张量的列表/元组.必须匹配在创建更新时传递给 __call__ 方法的输入参数.如果传递 inputs = None,则返回无条件更新.
返回:
依赖于输入的层的更新操作列表.
zero_state
zero_state (
batch_size ,
dtype
)
返回零填充状态张量.
ARGS:
- batch_size:表示批量大小的 int,float 或 unit Tensor.
- dtype:用于状态的数据类型.
返回:
如果 state_size 是 int 或 TensorShape,则返回值是用零填充的形式 [batch_size x state_size] 的一个N维向量.
如果 state_size 是嵌套列表或元组,则返回值是2维张量的嵌套列表或元组 (同一结构),其形式 [batch_size x s] 用于 state_size 中的每个 s.
tf.contrib.crf.crf_binary_score
crf_binary_score (
tag_indices ,
sequence_lengths ,
transition_params
)
定义在:tensorflow/contrib/crf/python/ops/crf.py
参考指南:CRF(contrib)
计算 CRF 中标签序列的二进制分数.
ARGS:
- tag_indices:标签索引的 [batch_size, max_seq_len] 矩阵.
- sequence_lengths:真正序列长度的 [batch_size] 向量.
- transition_params:二进制电位的 [num_tags,num_tags] 矩阵.
返回:
- binary_scores:二进制分数的 [batch_size] 向量.
tf.contrib.crf.crf_log_likelihood
crf_log_lmelihood (
inputs ,
tag_indices ,
sequence_lengths ,
transition_params = None
)
定义在:tensorflow/contrib/crf/python/ops/crf.py.
参见指南:CRF(contrib)
计算 CRF 中标签序列的对数似然.
ARGS:
- inputs:用作 CRF 层输入的一元电位 [batch_size,max_seq_len,num_tags] 张量.
- tag_indices:我们计算对数似然的标签索引的 [batch_size,max_seq_len] 矩阵.
- sequence_lengths:真正序列长度的 [batch_size] 矢量.
- transition_params:一个 [num_tags,num_tags] 转换矩阵,如果可用.
返回:
- log_likelihood:包含给定序列标签索引的对数似然的标量.
- transition_params:一个 [num_tags,num_tags] 转换矩阵.这是由调用者提供或在此函数中创建的.
tf.contrib.crf.crf_log_norm
crf_log_norm (
inputs ,
sequence_lengths ,
transition_params
)
定义在:tensorflow/contrib/crf/python/ops/crf.py
参考指南:CRF(contrib)
计算CRF的标准化.
ARGS:
- inputs:用作CRF层输入的一元电位的 [batch_size,max_seq_len,num_tags] 张量.
- sequence_lengths:真正序列长度的 [batch_size] 向量.
- transition_params:一个 [num_tags,num_tags] 转换矩阵.
返回:
- log_norm:用于 CRF 标准化的 [batch_size] 向量.
tf.contrib.crf.crf_sequence_score
crf_sequence_score (
inputs ,
tag_indices ,
sequence_lengths ,
transition_params
)
定义在:tensorflow/contrib/crf/python/ops/crf.py
参考指南:CRF(contrib)
计算标签序列的非规范化分数.
ARGS:
- inputs:用作 CRF 层输入的一元电位的 [batch_size,max_seq_len,num_tags] 张量.
- tag_indices:我们计算非规范化分数的 [batch_size,max_seq_len] 矩阵的标签索引.
- sequence_lengths:真正序列长度的 [batch_size] 向量.
- transition_params:一个 [num_tags,num_tags] 转换矩阵.
返回:
- sequence_scores:非规范化序列分数的 [batch_size] 向量.
tf.contrib.crf.crf_unary_score
crf_unary_score (
tag_indices ,
sequence_lengths ,
inputs
)
中定义.tensorflow/contrib/crf/python/ops/crf.py
参考指南:CRF(contrib)
计算标签序列的一元分数.
ARGS:
- tag_indices:标签索引的 [batch_size,max_seq_len] 矩阵.
- sequence_lengths:真正序列长度的 [batch_size] 向量.
- inputs:一元电位的 [batch_size, max_seq_len, num_tags] 张量.
返回:
- unary_scores:一元分数的 [batch_size] 向量.
tf.contrib.crf.viterbi_decode
viterbi_decode (
score,
transition_params
)
定义在tensorflow/contrib/crf/python/ops/crf.py
参考指南:CRF(contrib)
解码 TensorFlow 之外的标记的最高得分序列.
这只能在测试时使用.
ARGS:
- score:一元电位的 [seq_len,num_tags] 矩阵.
- transition_params:二进制电位的 [num_tags,num_tags] 矩阵.
返回:
- viterbi:包含最高得分标记索引的 [seq_len] 整数列表.
- viterbi_score:包含维特比序列得分的浮点数.