繁体   English   中英

如何使用张量初始化张量流中的变量?

[英]How to use a tensor to initialize a variable in tensorflow?

我正在尝试使用tf.nn.embedding_lookup()并收到以下警告:

UserWarning: Converting sparse IndexedSlices to a dense Tensor of unknown shape. This may consume a large amount of memory.

我在这个链接中读到,为了避免这个问题,我们应该确保tf.nn.embedding_lookup()的 params 输入是一个tf.Variable

但是我传递给tf.nn.embedding_lookup()的已经是一个张量,它是另一个操作的输出,我想我不能用它来初始化tf.Variable

有没有办法将张量转换为 tf.Variable 或用另一个张量初始化一个?

tf.Variable表示一个张量,其值可以通过在其上运行操​​作来更改。

在内部,一个tf.Variable存储一个持久张量

来源: https : //www.tensorflow.org/guide/variables

您可以使用Tensor对象初始化 tf.Variable: tf.Tensor

# Create a variable.
w = tf.Variable(<initial-value>, name=<optional-name>)

initial_value :一个张量,或可转换为张量的 Python 对象,这是变量的初始值。

除非validate_shape 设置为False,否则初始值必须具有指定的形状。 也可以是一个没有参数的可调用对象,在调用时返回初始值。 在这种情况下,必须指定 dtype。

(请注意,init_ops.py 中的初始化函数必须先绑定到一个形状,然后才能在这里使用。)

总之,您可以使用另一个Tensor对象初始化tf.Variable

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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