Tensorflow的tensorflow variable_scope中values参数的含义

4
我目前正在阅读基于Tensorflow的slim库的源代码,他们经常使用variable_scope方法的values参数,如here

从API页面可以看到:

此上下文管理器验证(可选)值是否来自同一图形,确保图形是默认图形,并推送名称范围和变量范围。

我的问题是:仅当来自values的变量来自相同的图形时才会进行检查吗?这有什么用例,为什么有人需要这样做?

1个回答

4
变量范围参数有助于确保变量的唯一性,并在需要时重用变量。
是的,如果您创建了两个或多个不同的计算图,则它们不一定共享相同的变量范围;但是,有方法可以使它们在图形之间共享,因此该选项存在。
变量范围的主要用途是用于循环神经网络(RNN),其中许多权重被绑定和重复使用。这是某人需要它的原因之一。它存在的另一个主要原因是确保当您明确需要时重新使用相同的变量,而不是出于偶然。(对于分布式设置,这可能成为一个问题。)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接