tensorflow - Tensorflow 2.0 中的 `' UnreadVariable'` 是什么?

标签 tensorflow tensorflow2.0

在 Tensorflow 2.0 中,一些变量可以描述为 'UnreadVariable'
例如:

b = tf.Variable([4,5], name="test")
print(b.assign([7, 9]))
# Will print
# <tf.Variable 'UnreadVariable' shape=(2,) dtype=int32, numpy=array([7, 9], dtype=int32)>

这是什么意思?

最佳答案

UnreadVariable基本上Represents a future for a read of a variable. Pretends to be the tensor if anyone looks.
这是因为在分配操作期间启用了急切执行。

TensorFlow 的 Eager Execution 是一种命令式编程环境,可以立即评估操作,无需构建图:操作返回具体值,而不是构建计算图以供稍后运行。

在 Tensorflow 2.0 中,默认情况下启用了急切执行。因此,您正在执行的操作无需构建图形即可完成。

无论如何,如果您愿意,可以将类型更改为 AssignVariableOp通过禁用急切执行如下。

import tensorflow as tf
tf.compat.v1.disable_eager_execution()

b = tf.Variable([4,5], name="test")
print(b.assign([7, 9]))

Returns:  

<tf.Variable 'AssignVariableOp' shape=(2,) dtype=int32>

关于tensorflow - Tensorflow 2.0 中的 `' UnreadVariable'` 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60722174/

相关文章:

python - Python中tensorflow函数定义之前的@tf_export的作用是什么?

tensorflow - 如何从 tf.train.string_input_ Producer 获取纪元信息

python - 使用 Gunicorn 部署时 Tensorflow 陷入预测困境

python - Tensorflow CIELAB 颜色空间边界

tensorflow - tflite 转换器错误操作不支持

tensorflow - protoc 看不到文件? (我做错了什么)

python-3.x - 是否有某种方法可以在 tensorflow v2 上加载在 tf v1 中创建的 .pb 文件?

python-3.x - 如何将 Tensorflow 2.0 SavedModel 转换为 TensorRT?

tensorflow - 无法理解 tensorflow keras 层 (tf.keras.layers.Layer) 中方法 `build` 的行为

python - 我在numpy中实现的多 channel 一维卷积有什么问题(与tensorflow相比)