小编Col*_*869的帖子

如何使用 tf.matmul 执行有效的稀疏矩阵乘法?

我正在尝试使用 tf.matmul() 执行稀疏矩阵乘法。

然而,推理速度比密集矩阵乘法慢得多。

根据 tf.sparse_matmul() 中的描述:

  • 在一个平台上使用此与密集矩阵乘法的盈亏平衡点是稀疏矩阵中 30% 的零值。

因此,我使用 7/8 零值制作稀疏矩阵。

这是我的代码:

import tensorflow as tf
import numpy as np
import time
a = tf.Variable(np.arange(1000).reshape(250,4) ,dtype=tf.float32) #dense matrix
b = tf.Variable(np.array([0,0,0,0,0,0,0,1],dtype=np.float32).reshape(4,2),dtype=tf.float32) # sparse matrix
c = tf.matmul(a,b,b_is_sparse=True) # do the sparse matrix multiplication

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    num_iteration = 5000
    num_burnin = 50
    duration = 0

    for i in range(num_iteration+num_burnin):
        startTime  = time.time()
        result = sess.run(c)
        endTime = time.time()
        if i > num_burnin :
            duration+= endTime-startTime

   print(" …
Run Code Online (Sandbox Code Playgroud)

sparse-matrix tensorflow

3
推荐指数
1
解决办法
2036
查看次数

标签 统计

sparse-matrix ×1

tensorflow ×1