gpt4 book ai didi

variables - Tensorflow中默认的variable_scope是什么?

转载 作者:行者123 更新时间:2023-11-30 08:59:15 26 4
gpt4 key购买 nike

Tensorflow 中默认的全局变量范围是什么?我如何检查物体?有人对此有什么想法吗?

最佳答案

从技术上讲,所有变量都不存在全局变量作用域。如果你运行

x = tf.Variable(0.0, name='x')

从脚本的顶层,将在默认图表中创建一个没有变量范围的新变量x

但是,tf.get_variable() 的情况有点不同。功能:

x = tf.get_variable(name='x')

它做的第一件事是调用 tf.get_variable_scope()函数,它返回当前变量范围,然后从本地堆栈中查找范围:

def get_variable_scope():
"""Returns the current variable scope."""
scope = ops.get_collection(_VARSCOPE_KEY)
if scope: # This collection has at most 1 element, the default scope at [0].
return scope[0]
scope = VariableScope(False)
ops.add_to_collection(_VARSCOPE_KEY, scope)
return scope

请注意,该堆栈可以为空,在这种情况下,只需创建一个新作用域并将其推送到堆栈顶部。

如果this是您需要的对象,您只需通过调用即可访问它:

scope = tf.get_variable_scope()

从顶层,或者如果您已经在范围内,则直接转到 ops.get_collection(_VARSCOPE_KEY)。这正是通过调用 tf.get_variable() 函数获得的新变量的范围。这是类tf.VariableScope的一个普通实例。您可以轻松检查。

关于variables - Tensorflow中默认的variable_scope是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46870535/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com