我试图在张量流上将稠密矩阵转换为稀疏矩阵计算。在使用tf.sparse.split(
后尝试reshape
时出错。下面是一个玩具示例来演示该问题
张量流密集矩阵
import numpy as np
import tensorflow as tf
a = np.array([[1, 0, 2, 0,0,1], [3, 0, 0, 4,1,0]])
a_t = tf.constant(a)
a_t_rshp = tf.reshape(tf.split(a_t,2,axis = 1),[2,2,3])
张量流稀疏矩阵
a_t_st = tf.sparse.from_dense(a_t)
a_t_st_rshp = tf.sparse.reshape(tf.sparse.split(a_t_st,2,axis = 1),[2,2,3])
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-14-3dff37aef5b4> in <module>
----> 1 a_t_st_rshp = tf.sparse.reshape(tf.sparse.split(a_t_st,2,axis = 1),[2,2,3])
/Users/Mine/Python/tf2_4_env/lib/python3.6/site-packages/tensorflow/python/ops/sparse_ops.py in sparse_reshape(sp_input, shape, name)
886 ValueError: If `shape` has more than one inferred (== -1) dimension.
887 """
--> 888 sp_input = _convert_to_sparse_tensor(sp_input)
889 shape = math_ops.cast(shape, dtype=dtypes.int64)
890
/Users/Mine/Python/tf2_4_env/lib/python3.6/site-packages/tensorflow/python/ops/sparse_ops.py in _convert_to_sparse_tensor(sp_input)
70 return sparse_tensor.SparseTensor.from_value(sp_input)
71 if not isinstance(sp_input, sparse_tensor.SparseTensor):
---> 72 raise TypeError("Input must be a SparseTensor.")
73 return sp_input
74
你能帮我解决这个问题吗
目前没有回答
相关问题 更多 >
编程相关推荐