[英]How to reset initialization in TensorFlow 2
如果我在初始化tf.Variable
后尝试更改 TensorFlow 2 中的tf.Variable
,
import tensorflow as tf
_ = tf.Variable([1])
tf.config.threading.set_inter_op_parallelism_threads(1)
我收到一个错误
运行时错误:初始化后无法修改操作间并行性。
我明白为什么会这样,但它(可能还有其他因素)导致我的测试相互干扰。 例如
def test_model(): # this test
v = tf.Variable([1])
...
def test_threading(): # is breaking this test
tf.config.threading.set_inter_op_parallelism_threads(1)
...
如何重置 TensorFlow 状态以便设置线程?
这可以通过“hacky”方式实现。 但我建议以正确的方式执行此操作(即在开始时设置配置)。
import tensorflow as tf
from tensorflow.python.eager import context
_ = tf.Variable([1])
context._context = None
context._create_context()
tf.config.threading.set_inter_op_parallelism_threads(1)
编辑:一开始就设置配置是什么意思,
import tensorflow as tf
from tensorflow.python.eager import context
tf.config.threading.set_inter_op_parallelism_threads(1)
_ = tf.Variable([1])
但在某些情况下,您不能总是这样做。 仅仅指出在tf
中设置配置的传统方法。 因此,如果您的情况不允许您在开始时修复tf.config
,您必须按照上面的解决方案中所示重置您的tf.eager.context
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.