Python TensorFlow – ``tensorflow.boolean_mask()`` 方法详解


发布日期 : 2020-07-14 13:23:50 UTC

访问量: 10 次浏览

Python – tensorflow.boolean\_mask() 方法

TensorFlow是谷歌设计的开源Python库,用于开发机器学习模型和深度学习神经网络。
boolean\_mask() 是用于对Tensor应用布尔掩码的方法。

语法:
tensorflow.boolean_mask(tensor, mask, axis, name)

参数:

  • tensor: 它是一个N维的输入张量。
  • mask: 它是一个具有k维度的布尔张量,其中k<=N,k是静态的。
  • axis: 它是一个0维的张量,代表应用掩码的轴。轴的默认值是0,k+轴<=N。
  • name: 这是一个可选的参数,定义了操作的名称。

返回:
它返回(N-K+1)维的张量,这些张量的值与掩码中的真值相对应。

例子1:
在这个例子中,输入是1-D。

# importing the library
import tensorflow as tf

# initializing the inputs
tensor = [1,2,3]
mask = [False, True, True]

# printing the input
print('Tensor: ',tensor)
print('Mask: ',mask)

# applying the mask
result = tf.boolean_mask(tensor, mask)

# printing the result
print('Result: ',result)

输出:

Tensor: [1, 2, 3]
Mask: [False, True, True]
Result: tf.Tensor([2 3], shape=(2,), dtype=int32)

例2:
在这个例子中,采取的是2-D输入。

# importing the library
import tensorflow as tf

# initializing the inputs
tensor = [[1, 2], [10, 14], [9, 7]]
mask = [False, True, True]

# printing the input
print('Tensor: ',tensor)
print('Mask: ',mask)

# applying the mask
result = tf.boolean_mask(tensor, mask)

# printing the result
print('Result: ',result)

输出:

Tensor: [[1, 2], [10, 14], [9, 7]]
Mask: [False, True, True]
Result: tf.Tensor(
[[10 14]
[ 9 7]], shape=(2, 2), dtype=int32)