TensorFlow 在張量上應(yīng)用布爾掩碼

2018-09-06 09:59 更新

tf.boolean_mask

boolean_mask ( 
    tensor , 
    mask , 
    name = 'boolean_mask' 
)

定義在:tensorflow/python/ops/array_ops.py.

參見(jiàn)指南:張量變換>分割和連接

對(duì)張量應(yīng)用布爾掩碼.Numpy 等同于 tensor[mask].

#1-D 示例 
tensor =  [ 0 , 1 , 2 , 3 ] 
mask = np.array([True,False,True,False] ) 
boolean_mask (tensor,mask) == >  [ 0 , 2 ]

一般情況下,0 < dim(mask) = K <= dim(tensor) 并且 mask 的形狀必須與張量形狀的第一 K 維度匹配.然后我們就有:(tensor, mask)[i, j1,...,jd] = tensor[i1,...,iK,j1,...,jd] 當(dāng)(i1,...,iK) 是 mask (row-major order) 的第 i 個(gè)真輸入.

ARGS:

  • tensor:N -D 張量.
  • mask:K - D 布爾張量,K <= N 和 K 必須是靜態(tài)已知的.
  • name:此操作的名稱(可選).

返回:

返回(N-K + 1)維張量由條目中填充的 tensor 對(duì)應(yīng)于 mask 中的 True 值.

注意:

  • ValueError:如果形狀不符合時(shí).

例子:

#2-D示例 
tensor =  [ [ 1 , 2 ] , [ 3 , 4 ] , [ 5 , 6 ] ] 
mask = np.array([True,False,True] ) 
boolean_mask (tensor,mask) == >  [ [ 1 , 2 ] , [ 5 , 6 ] ]


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)