W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
sparse_merge(
sp_ids,
sp_values,
vocab_size,
name=None,
already_sorted=False
)
定義在:tensorflow/python/ops/sparse_ops.py.
請參閱指南:稀疏張量>轉變
將一批特征 ID 和值合并為一個 SparseTensor.
當特征 ID 及其對應值存儲在磁盤上的 Example 原型中時,就會出現此函數的最常見用例.parse_example將返回一個批次 ID 和批次值,并且這個函數將它們加入到一個邏輯 SparseTensor 中,以便在 sparse_tensor_dense_matmul、sparse_to_dense 等函數中使用.
此函數返回的 SparseTensor 具有以下屬性:
例如,考慮以下特征向量:
vector1 = [-3, 0, 0, 0, 0, 0]
vector2 = [ 0, 1, 0, 4, 1, 0]
vector3 = [ 5, 0, 0, 9, 0, 0]
在下面的 Example 原型中,這些可能會被存儲為稀疏的,只需將特征 id (如果將向量作為矩陣處理的列號) 存儲在非零元素和相應的值上:
examples = [Example(features={
"ids": Feature(int64_list=Int64List(value=[0])),
"values": Feature(float_list=FloatList(value=[-3]))}),
Example(features={
"ids": Feature(int64_list=Int64List(value=[1, 4, 3])),
"values": Feature(float_list=FloatList(value=[1, 1, 4]))}),
Example(features={
"ids": Feature(int64_list=Int64List(value=[0, 3])),
"values": Feature(float_list=FloatList(value=[5, 9]))})]
對這些示例調用 parse_example 的結果將生成一個包含“ids”和“values”項的字典.將這兩個對象與 vocab_size = 6 一起傳遞給此函數將生成一個SparseTensor,稀疏表示所有三個實例的表達式.也就是說,indices 屬性將包含特征矩陣中非零項的坐標(第一維是矩陣中的行號,即批次內的索引,第二維是列號,即特征 ID);values 將包含實際值.shape 將是原始矩陣的形狀,即(3,6).對于上面的例子,輸出將等于:
SparseTensor(indices=[[0, 0], [1, 1], [1, 3], [1, 4], [2, 0], [2, 3]],
values=[-3, 1, 4, 1, 5, 9],
dense_shape=[3, 6])
該方法通過簡單地提供 sp_ids 以及 vocab_size 的列表來推廣到更高維度.在這種情況下,產生的 SparseTensor 具有以下屬性: - indices:相當于sp_ids[0].indices的最后一個維度使用 sp_ids[0].values 和 sp_ids[1].values 等被丟棄并連接在一起.- values:只是 sp_values.values.如果sp_ids.dense_shape = [D0, D1, ..., Dn, K],則 output.shape = [D0, D1, ..., Dn] + vocab_size.
函數參數:
函數返回值:
一個 SparseTensor,它緊湊地表示一批特征 id 和值,對于傳遞到期望此類 SparseTensor 的函數非常有用.
可能引發(fā)的異常:
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯系方式:
更多建議: