計算整數數組中每個值的出現次數。
用法
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。