繁体   English   中英

创建tf.constant给定的索引和值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM