Python 如何将sparsetenservalue转换为numpy数组?

Python 如何将sparsetenservalue转换为numpy数组?,python,numpy,tensorflow,Python,Numpy,Tensorflow,我有一个Tensorflow网络,可以在调用Session().run()后获取图形的值。但是,我在将sparsetenservalue转换为其他类型时遇到一些问题 例如,下面的程序创建一个sparsetenservalue >>> import tensorflow as tf >>> t = tf.Session().run(tf.SparseTensor([[0,1], [0,0], [1,1], [1,0]],[1,2,3,4],[2,2])) >

我有一个Tensorflow网络,可以在调用
Session().run()
后获取图形的值。但是,我在将
sparsetenservalue
转换为其他类型时遇到一些问题

例如,下面的程序创建一个
sparsetenservalue

>>> import tensorflow as tf
>>> t = tf.Session().run(tf.SparseTensor([[0,1], [0,0], [1,1], [1,0]],[1,2,3,4],[2,2]))
>>> print(t)
SparseTensorValue(indices=array([[0, 1],
       [0, 0],
       [1, 1],
       [1, 0]]), values=array([1, 2, 3, 4], dtype=int32), dense_shape=array([2, 2]))
>>> 
我想要的是将
t
转换成
np.array
np.matrix
,例如,
np.array([[2,1.],[4,3.]])

我目前拥有的是以下内容

>>> import numpy as np
>>> a = np.zeros(t.dense_shape)
>>> for i, v in zip(t.indices, t.values) :
...     a[tuple(i)] = v
... 
>>> print(a)
[[2. 1.]
 [4. 3.]]
>>> 
是否有更好的方法执行转换?特别是,我想消除for循环

多亏了他的提示,我找到了从Tensorflow网站转换的方法

tf.Session().run(tf.sparse.to_dense(tf.sparse.reorder(t)))

首先将值按字典顺序重新排序,然后使用
使其稠密,最后将张量馈送到
Session().run()

所以没有什么能帮助你的了
numpy
当然对
tensorflow
一无所知,但是
tf
应该有一些东西。我是tensorflow的新手,我没有找到通过Google执行转换的方法。