當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python mxnet.symbol.SequenceMask用法及代碼示例


用法:

mxnet.symbol.SequenceMask(data=None, sequence_length=None, use_sequence_length=_Null, value=_Null, axis=_Null, name=None, attr=None, out=None, **kwargs)

參數

  • data(Symbol) - 形式為 [max_sequence_length, batch_size, other_feature_dims] 的 n 維輸入數組,其中 n>2
  • sequence_length(Symbol) - [batch_size] 形式的序列長度向量
  • use_sequence_length(boolean, optional, default=0) - 如果設置為 true,則該層接受一個額外的輸入參數sequence_length指定可變長度序列
  • value(float, optional, default=0) - 用作掩碼的值。
  • axis(int, optional, default='0') - 序列軸。當前僅支持 0 和 1 的值。
  • name(string, optional.) - 結果符號的名稱。

返回

結果符號。

返回類型

Symbol

將序列外的所有元素設置為常量值。

此函數采用 [max_sequence_length, batch_size, other_feature_dims] 形式的 n 維輸入數組,並返回相同形狀的數組。

參數sequence_length 用於處理可變長度序列。 sequence_length 應該是維度為 [batch_size] 的正整數的輸入數組。要使用此參數,請將 use_sequence_length 設置為 True ,否則批處理中的每個示例都假定具有最大序列長度,並且此運算符用作 identity 運算符。

例子:

x = [[[  1.,   2.,   3.],
      [  4.,   5.,   6.]],

     [[  7.,   8.,   9.],
      [ 10.,  11.,  12.]],

     [[ 13.,  14.,   15.],
      [ 16.,  17.,   18.]]]

// Batch 1
B1 = [[  1.,   2.,   3.],
      [  7.,   8.,   9.],
      [ 13.,  14.,  15.]]

// Batch 2
B2 = [[  4.,   5.,   6.],
      [ 10.,  11.,  12.],
      [ 16.,  17.,  18.]]

// works as identity operator when sequence_length parameter is not used
SequenceMask(x) = [[[  1.,   2.,   3.],
                    [  4.,   5.,   6.]],

                   [[  7.,   8.,   9.],
                    [ 10.,  11.,  12.]],

                   [[ 13.,  14.,   15.],
                    [ 16.,  17.,   18.]]]

// sequence_length [1,1] means 1 of each batch will be kept
// and other rows are masked with default mask value = 0
SequenceMask(x, sequence_length=[1,1], use_sequence_length=True) =
             [[[  1.,   2.,   3.],
               [  4.,   5.,   6.]],

              [[  0.,   0.,   0.],
               [  0.,   0.,   0.]],

              [[  0.,   0.,   0.],
               [  0.,   0.,   0.]]]

// sequence_length [2,3] means 2 of batch B1 and 3 of batch B2 will be kept
// and other rows are masked with value = 1
SequenceMask(x, sequence_length=[2,3], use_sequence_length=True, value=1) =
             [[[  1.,   2.,   3.],
               [  4.,   5.,   6.]],

              [[  7.,   8.,   9.],
               [  10.,  11.,  12.]],

              [[   1.,   1.,   1.],
               [  16.,  17.,  18.]]]

相關用法


注:本文由純淨天空篩選整理自apache.org大神的英文原創作品 mxnet.symbol.SequenceMask。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。