[英]Is there a sparse version of tf.multiply?
Tensorflow是否具有稀疏元素明智乘法? 即tf.multiply()的稀疏版本
我只找到tf.sparse_tensor_dense_matmul(),但這不是元素明智的乘法。
您可能正在尋找的功能是: __mul__
官方文檔中的其他詳細信息:
稀疏張量中與隱式零元素相對應的輸出位置將為零 (即不會占用存儲空間),而不管密集張量的內容如何(即使它是+/- INF且INF * 0 == NaN)。
局限性 :該Op僅將密集的一側廣播到稀疏的一側,而不向其他方向廣播。
例:
sp_mat = tf.SparseTensor([[0,0],[0,2],[1,2],[2,1]], np.ones(4), [3,3])
const1 = tf.constant([[1,2,3],[4,5,6],[7,8,9]], dtype=tf.float64)
const2 = tf.constant(np.array([1,2,3]),dtype=tf.float64)
elementwise_result = sp_mat.__mul__(const1)
broadcast_result = sp_mat.__mul__(const2)
print("Sparse Matrix:\n",tf.sparse_tensor_to_dense(sp_mat).eval())
print("\n\nElementwise:\n",tf.sparse_tensor_to_dense(elementwise_result).eval())
print("\n\nBroadcast:\n",tf.sparse_tensor_to_dense(broadcast_result).eval())
輸出:
Sparse Matrix:
[[ 1. 0. 1.]
[ 0. 0. 1.]
[ 0. 1. 0.]]
Elementwise:
[[ 1. 0. 3.]
[ 0. 0. 6.]
[ 0. 8. 0.]]
Broadcast:
[[ 1. 0. 3.]
[ 0. 0. 3.]
[ 0. 2. 0.]]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.