python - 如何使用张量初始化 tensorflow 中的变量?

标签 python tensorflow

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

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

我读到这个 ​​link为了避免这个问题,我们应该确保 tf.nn.embedding_lookup() 的参数输入是一个 tf.Variable

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

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

最佳答案

A tf.Variable represents a tensor whose value can be changed by running ops on it.

Internally, a tf.Variable stores a persistent tensor.

来源: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 中的初始化函数必须先绑定(bind)到一个形状,然后才能在此处使用。)

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

关于python - 如何使用张量初始化 tensorflow 中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56721292/

相关文章:

python - 我忘记关闭 tf.InteractiveSession,如何终止任何剩余进程?

python - python中raise后是否可以执行一条语句?

python - 比较两个元组列表中元素之间的元素

python - 为什么 fpectl — 浮点异常控制如此危险?

python - pyaudio 改变调用回调函数的样本数

tensorflow - 如何使用 tf.check_numerics

python - 如何通过将另外两个 tf.feature_column 相乘来创建 tf.feature_column?

python - tf.nn.static_rnn - 输入必须是序列

python - 如何访问 keras 中单个自定义损失函数的所有输出

python - 使用 pyodbc 连接到数据库 - 不起作用