计算整数数组中每个值的出现次数。
用法
tf.math.bincount(
arr, weights=None, minlength=None, maxlength=None, dtype=tf.dtypes.int32,
name=None, axis=None, binary_output=False
)
参数
-
arr
应计算其值的张量、RaggedTensor 或 SparseTensor。如果axis=-1
,这些张量的秩必须为 2。 -
weights
如果非无,则必须与 arr 具有相同的形状。对于arr
中的每个值,bin 将按相应的权重而不是 1 递增。 -
minlength
如果给定,确保输出的长度至少为minlength
,必要时在末尾填充零。 -
maxlength
如果给定,则跳过arr
中等于或大于maxlength
的值,确保输出的长度最多为maxlength
。 -
dtype
如果weights
为无,则确定输出箱的类型。 -
name
关联操作的名称范围(可选)。 -
axis
要切片的轴。axis
及以下的轴将在 bin 计数之前展平。目前,仅支持0
和-1
。如果没有,所有轴都将被展平(与传递0
相同)。 -
binary_output
如果为 True,此操作将输出 1 而不是令牌出现的次数(相当于 one_hot + reduce_any 而不是 one_hot + reduce_add)。默认为假。
返回
-
与
weights
或给定的dtype
具有相同 dtype 的向量。 bin 值。
抛出
-
InvalidArgumentError
如果提供负值作为输入。
如果没有给出minlength
和maxlength
,如果arr
不为空,则返回长度为tf.reduce_max(arr) + 1
的向量,否则返回长度为0的向量。如果 weights
为非无,则输出的索引 i
在每个索引处存储 weights
中的值的总和,其中 arr
中的对应值为 i
。
values = tf.constant([1,1,2,3,2,4,4,5])
tf.math.bincount(values) #[0 2 2 1 2 1]
向量长度 = 向量values
中的最大元素为 5。加上 1,即 6 将是向量长度。
输出中的每个 bin 值表示特定索引的出现次数。这里,输出中的索引 1 的值为 2。这表示值 1 在 values
中出现了两次。
values = tf.constant([1,1,2,3,2,4,4,5])
weights = tf.constant([1,5,0,1,0,5,4,5])
tf.math.bincount(values, weights=weights) #[0 6 0 1 9 5]
Bin 将增加相应的权重而不是 1。这里,输出中的索引 1 的值为 6。这是与 values
中的值对应的权重的总和。
Bin-counting 在某个轴上
此示例采用二维输入并返回 Tensor
,并对每个样本进行 bincounting。
data = np.array([[1, 2, 3, 0], [0, 0, 1, 2]], dtype=np.int32)
tf.math.bincount(data, axis=-1)
<tf.Tensor:shape=(2, 4), dtype=int32, numpy=
array([[1, 1, 1, 1],
[2, 1, 1, 0]], dtype=int32)>
Bin-counting 与 binary_output
这个例子给出了二进制输出而不是计算出现次数。
data = np.array([[1, 2, 3, 0], [0, 0, 1, 2]], dtype=np.int32)
tf.math.bincount(data, axis=-1, binary_output=True)
<tf.Tensor:shape=(2, 4), dtype=int32, numpy=
array([[1, 1, 1, 1],
[1, 1, 1, 0]], dtype=int32)>
相关用法
- Python tf.math.bessel_i0e用法及代码示例
- Python tf.math.bessel_i1用法及代码示例
- Python tf.math.bessel_i0用法及代码示例
- Python tf.math.bessel_i1e用法及代码示例
- Python tf.math.special.fresnel_cos用法及代码示例
- Python tf.math.polyval用法及代码示例
- Python tf.math.is_finite用法及代码示例
- Python tf.math.special.bessel_k0e用法及代码示例
- Python tf.math.acosh用法及代码示例
- Python tf.math.invert_permutation用法及代码示例
- Python tf.math.segment_prod用法及代码示例
- Python tf.math.unsorted_segment_min用法及代码示例
- Python tf.math.conj用法及代码示例
- Python tf.math.scalar_mul用法及代码示例
- Python tf.math.zero_fraction用法及代码示例
- Python tf.math.reduce_max用法及代码示例
- Python tf.math.special.fresnel_sin用法及代码示例
- Python tf.math.segment_mean用法及代码示例
- Python tf.math.xlog1py用法及代码示例
- Python tf.math.less_equal用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.math.bincount。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。