[英]Create tf.constant given indices and values
我想改善当前代码,以提高GPU的执行性能,因此我将替换它不支持的操作,以避免将它们委托给CPU。
此操作之一是tf.sparse_to_dense。 因此,是否有某种方法可以根据其索引和值创建张量(常量),就像它是稀疏张量一样?
我使它与变通办法一起工作,例如使用numpy获取数组,然后使用tensor = tf.constant(numpyarray)
创建它,但我一直在寻找“仅Tensorflow”方法。
tf.constant
当前不支持坐标格式(索引和值)的实例化,因此numpy / scipy变通方法实际上不是一个坏方法:
import scipy.sparse as sps
A = sps.coo_matrix((values, (indices[0,:], indices[1,:])), shape=your_shape)
tensor_A = tf.constant(A.to_dense())
如果可以将tf.Variable
不可训练(请参见此处 ,了解tf.constant
的不同之tf.constant
),则可以使用tf.sparse_to_dense
tensor_A = tf.Variable( \
tf.sparse_to_dense(indices, your_shape, values), \
trainable=False \
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.