Python 3.x Tensorflow:为什么密集矩阵的传递速度明显快于稀疏矩阵?

Python 3.x Tensorflow:为什么密集矩阵的传递速度明显快于稀疏矩阵?,python-3.x,tensorflow,sparse-matrix,Python 3.x,Tensorflow,Sparse Matrix,我正在尝试使用tensorflow 0.14来训练一个使用协同过滤算法的推荐系统 如果我有 ratings = tf.sparse_placeholder(tf.float32, shape=[None, None]) ratings_dense = tf.sparse_tensor_to_dense(ratings, validate_indices=False) 然后在所有计算中使用ratings\u density,这比使用 ratings_dense = tf.placeholder(

我正在尝试使用tensorflow 0.14来训练一个使用协同过滤算法的推荐系统

如果我有

ratings = tf.sparse_placeholder(tf.float32, shape=[None, None])
ratings_dense = tf.sparse_tensor_to_dense(ratings, validate_indices=False)
然后在所有计算中使用
ratings\u density
,这比使用

ratings_dense = tf.placeholder(tf.float32, shape=[None, None])
并传递预填充的numpy数组


为什么会这样?

我猜如果我以稀疏张量通过
评分
评分
会在每个训练步骤中重新计算。同样的问题。。使用稀疏矩阵可以将我的模型大小减少几个数量级,但是梯度的计算变得非常缓慢。