在此answer中,我了解了Variableget_variable之间的区别,但是我遇到了另一种获取或创建model_variable变量的方法,于是我困惑何时使用get_variable和何时选择model_variable

对于文档,我知道:

get_variable:


  使用这些参数获取现有变量或创建一个新变量。


model_variable:


  使用这些参数获取现有的模型变量或创建一个新的模型变量。


我可以从this question看到:


  返回MODEL_VARIABLES集合中的所有变量。


那是真的,get_variable和model_variable函数之间的唯一区别在于它们想要的集合吗?

最佳答案

据我所知,是的。在github上查看model_variable的源代码,model_variable包装variable(在链接模块中定义),它本身是get_variable的包装。

answer似乎证实了这一点,并且该Google网上论坛discussion深入了解了为什么tf.contrib具有看似重复的功能,尤其是该功能。

至于要使用哪一个,除非您正在集成slim或其他需要它的东西,否则可能总是使用tf.get_variable。我自己从未使用过model_variable

编辑:澄清variable是在链接中定义的,而不是tf.Variable

08-16 20:26