TensorFlow中與CRF有關(guān)的操作

2018-09-07 13:57 更新

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

返回所有圖層變量/權(quán)重的列表.

返回:

變量列表.

weights

返回所有圖層變量/權(quán)重的列表.

返回:

變量列表.

方法


__init__

__init__ ( transition_params )

初始化 CrfForwardRnnCell.

ARGS:

  • transition_params:二進(jìn)制的一個 [num_tags,num_tags] 矩陣.該矩陣被擴展為 [1,num_tags,num_tags],以準(zhǔn)備在單元內(nèi)發(fā)生的廣播求和.

__call__

__call__ (
inputs,
state,
scope = None
)

構(gòu)建 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
)

添加損失張量,可能依賴于層輸入.

一些損失(例如,活動正則化損失)可能取決于調(diào)用層時傳遞的輸入.因此,用復(fù)在不同的輸入側(cè)的相同的層時a狀語從句:b,一些在條目layer.losses可以取決于a狀語從句:一些上b.該方法自動跟蹤依賴關(guān)系.因此,當(dāng)在不同的輸入 a 和 b 上重用同一層時,一些在 layer.losses 中的條目可能有的依賴于 a,有的依賴于 b.此方法自動跟蹤依賴項.

該 get_losses_for 方法允許檢索與特定輸入集相關(guān)的損失.

參數(shù):

  • losses:張量的損失或張量的列表/元組.
  • inputs:損失依賴的可選輸入張量,必須匹配在創(chuàng)建33損失時inputs傳遞給__call__方法的參數(shù).必須匹配在創(chuàng)建損失時傳遞給 __call__ 方法的輸入?yún)?shù).如果 None 被傳遞,則假設(shè)損失是無條件的, 并將適用于所有的 dataflows 層 (如權(quán)重正則化損失).

add_update

add_update (
updatas,
inputs = None
)

添加更新操作,可能依賴于輸入層.

權(quán)重更新(例如,BatchNormalization 層中移動平均值和方差的更新)可能依賴于調(diào)用層時傳遞的輸入.因此, 當(dāng)在不同的輸入 a 和 b 上重用同一層時,一些 layer.updates 中的條目可能有的依賴于 a 有的依賴于 b .此方法自動跟蹤依賴項.

該get_updates_for方法允許檢索與特定輸入集相關(guān)的更新.

參數(shù):

  • updates:更新操作,或更新操作的列表/元組.
  • inputs:更新所依賴的可選輸入張量,在創(chuàng)建更新時必須匹配傳遞給 __call__ 方法的輸入?yún)?shù).如果 None 被傳遞,則更新被假定為無條件的,并將適用于該層的所有數(shù)據(jù)流.

add_variable

add_variable (
name ,
shape ,
dtype = None ,
initializer = None ,
regularizer = None ,
trainable = True
)

向圖層添加一個新的變量,或者獲取一個現(xiàn)有的變量;返回它.

參數(shù):

  • name:變量名
  • shape:變量形狀.
  • dtype:變量的類型,默認(rèn)為 self.dtype.
  • initializer:初始值設(shè)定實例(可調(diào)用).
  • regularizer:正則化實例(可調(diào)用).
  • trainable:變量是否應(yīng)該是層的 “trainable_variables”(例如變量,偏差)或 “non_trainable_variables”(例如 BatchNorm 的意思是偏差)的一部分.

返回:

創(chuàng)建的變量.

apply

apply (
inputs ,
* args ,
** kwargs
)

在輸入上應(yīng)用圖層.

這只是包裝 self.__call__.

參數(shù):

  • inputs:輸入張量.
  • *args:要傳遞給 self.call 的其他位置變量.
  • ** kwargs:要傳遞 self.call 的附加關(guān)鍵字參數(shù).

返回:

輸出張量(S).

build

build( _ )

call

call(
inputs,
** kwargs
)

層的邏輯存在在這里.

參數(shù):

  • inputs:輸入張量(s).
  • ** kwargs:附加的關(guān)鍵字參數(shù).

返回:

輸出張量(S).

get_losses_for

get_losses_for (inputs)

檢索與特定輸入集相關(guān)的損失.

參數(shù):

  • inputs:輸入張量或輸入張量的列表/元組.必須匹配在創(chuàng)建損失時傳遞給 __call__ 方法的輸入?yún)?shù).如果您通過 inputs = None,則無條件的損失返回,例如權(quán)重正則化損失.

返回:

依賴輸入的層的損失張量列表.

get_updates_for

get_updates_for (inputs)

檢索與特定輸入集相關(guān)的更新.

參數(shù):

  • inputs:輸入張量或輸入張量的列表/元組.必須匹配在創(chuàng)建更新時傳遞給 __call__ 方法的輸入?yún)?shù).如果傳遞 inputs = None,則返回?zé)o條件更新.

返回:

依賴于輸入的層的更新操作列表.

zero_state

zero_state (
batch_size ,
dtype
)

返回零填充狀態(tài)張量.

ARGS:

  • batch_size:表示批量大小的 int,float 或 unit Tensor.
  • dtype:用于狀態(tài)的數(shù)據(jù)類型.

返回:

如果 state_size 是 int 或 TensorShape,則返回值是用零填充的形式 [batch_size x state_size] 的一個N維向量.
如果 state_size 是嵌套列表或元組,則返回值是2維張量的嵌套列表或元組 (同一結(jié)構(gòu)),其形式 [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 中標(biāo)簽序列的二進(jìn)制分?jǐn)?shù).

ARGS:

  • tag_indices:標(biāo)簽索引的 [batch_size, max_seq_len] 矩陣.
  • sequence_lengths:真正序列長度的 [batch_size] 向量.
  • transition_params:二進(jìn)制電位的 [num_tags,num_tags] 矩陣.

返回:

  • binary_scores:二進(jìn)制分?jǐn)?shù)的 [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 中標(biāo)簽序列的對數(shù)似然.

ARGS:

  • inputs:用作 CRF 層輸入的一元電位 [batch_size,max_seq_len,num_tags] 張量.
  • tag_indices:我們計算對數(shù)似然的標(biāo)簽索引的 [batch_size,max_seq_len] 矩陣.
  • sequence_lengths:真正序列長度的 [batch_size] 矢量.
  • transition_params:一個 [num_tags,num_tags] 轉(zhuǎn)換矩陣,如果可用.

返回:

  • log_likelihood:包含給定序列標(biāo)簽索引的對數(shù)似然的標(biāo)量.
  • transition_params:一個 [num_tags,num_tags] 轉(zhuǎn)換矩陣.這是由調(diào)用者提供或在此函數(shù)中創(chuàng)建的.

tf.contrib.crf.crf_log_norm


crf_log_norm (
inputs ,
sequence_lengths ,
transition_params
)

定義在:tensorflow/contrib/crf/python/ops/crf.py

參考指南:CRF(contrib)

計算CRF的標(biāo)準(zhǔn)化.

ARGS:

  • inputs:用作CRF層輸入的一元電位的 [batch_size,max_seq_len,num_tags] 張量.
  • sequence_lengths:真正序列長度的 [batch_size] 向量.
  • transition_params:一個 [num_tags,num_tags] 轉(zhuǎn)換矩陣.

返回:

  • log_norm:用于 CRF 標(biāo)準(zhǔn)化的 [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)

計算標(biāo)簽序列的非規(guī)范化分?jǐn)?shù).

ARGS:

  • inputs:用作 CRF 層輸入的一元電位的 [batch_size,max_seq_len,num_tags] 張量.
  • tag_indices:我們計算非規(guī)范化分?jǐn)?shù)的 [batch_size,max_seq_len] 矩陣的標(biāo)簽索引.
  • sequence_lengths:真正序列長度的 [batch_size] 向量.
  • transition_params:一個 [num_tags,num_tags] 轉(zhuǎn)換矩陣.

返回:

  • sequence_scores:非規(guī)范化序列分?jǐn)?shù)的 [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)

計算標(biāo)簽序列的一元分?jǐn)?shù).

ARGS:

  • tag_indices:標(biāo)簽索引的 [batch_size,max_seq_len] 矩陣.
  • sequence_lengths:真正序列長度的 [batch_size] 向量.
  • inputs:一元電位的 [batch_size, max_seq_len, num_tags] 張量.

返回:

  • unary_scores:一元分?jǐn)?shù)的 [batch_size] 向量.

tf.contrib.crf.viterbi_decode


viterbi_decode (
score,
transition_params
)

定義在tensorflow/contrib/crf/python/ops/crf.py

參考指南:CRF(contrib)

解碼 TensorFlow 之外的標(biāo)記的最高得分序列.

這只能在測試時使用.

ARGS:

  • score:一元電位的 [seq_len,num_tags] 矩陣.
  • transition_params:二進(jìn)制電位的 [num_tags,num_tags] 矩陣.

返回:

  • viterbi:包含最高得分標(biāo)記索引的 [seq_len] 整數(shù)列表.
  • viterbi_score:包含維特比序列得分的浮點數(shù).
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號