对变量"变量"意味着什么?在TensorFlow中?

时间:2017-10-12 08:55:12

标签: python tensorflow

我多次看到以下声明:

  

tf.get_variable从图中获取现有变量

究竟是什么意思?如果变量已经存在,为什么我不能通过调用它的名称来重用它(或者#34;得到它")。例如,我有一个变量x,所以我只需要在我需要的地方使用这个变量。我为什么要使用get_variable来"得到"它(无论它意味着什么)?

1 个答案:

答案 0 :(得分:0)

  

如果变量已经存在,为什么我不能通过调用其名称来重用它(或者#34;得到它")。

当整个模型在一个文件中时,您通常可以这样做。但是,大型模型很可能会分成不同的源文件和库。在这种情况下,tf.get_variable只是convenient:" tf.get_variable还允许您重复使用之前创建的同名变量,从而可以轻松定义重用图层的模型&# 34。

张量流中的开箱即用图层和函数通常使用tf.get_variable定义其变量,例如tf.contrib.crf.crf_log_likelihoodsource code),它允许客户端传递{transitions 1}}矩阵即使crf_log_likelihood调用在另一个模块中,甚至在第三方代码中也是如此。

分享的可能性是另一个用例,正如评论中已经提到的那样,因此在层中深入编写tf.get_variable是迈向更好的组合的一步。