我多次看到以下声明:
tf.get_variable从图中获取现有变量
究竟是什么意思?如果变量已经存在,为什么我不能通过调用它的名称来重用它(或者#34;得到它")。例如,我有一个变量x
,所以我只需要在我需要的地方使用这个变量。我为什么要使用get_variable
来"得到"它(无论它意味着什么)?
答案 0 :(得分:0)
如果变量已经存在,为什么我不能通过调用其名称来重用它(或者#34;得到它")。
当整个模型在一个文件中时,您通常可以这样做。但是,大型模型很可能会分成不同的源文件和库。在这种情况下,tf.get_variable
只是convenient:" tf.get_variable
还允许您重复使用之前创建的同名变量,从而可以轻松定义重用图层的模型&# 34。
张量流中的开箱即用图层和函数通常使用tf.get_variable
定义其变量,例如tf.contrib.crf.crf_log_likelihood
(source code),它允许客户端传递{transitions
1}}矩阵即使crf_log_likelihood
调用在另一个模块中,甚至在第三方代码中也是如此。
分享的可能性是另一个用例,正如评论中已经提到的那样,因此在层中深入编写tf.get_variable
是迈向更好的组合的一步。