Tensorflow中如何使用范围

介绍

本篇内容介绍了“Tensorflow中如何使用范围”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Tensorflow中有两个不同的上下文管理器来管理张量和变量的名称第。一个是tf.name_scope,第二个是tf.get_variable。下面我结合一些例子来详细的讲解一下。

,<强> 1,使用tf.name_scope

Tensorflow中的变量和张量是有名称属性的,用于在符号图中标识它们。我们如果在创建变量或张量时没有指定名称属性,Tensorflow会自动指定一个名称。

 Tensorflow中如何使用范围

我们可以通过指定显式名称来覆盖默认名称。

 Tensorflow中如何使用范围

,注意:在Tensorflow中定义新变量有两种方法:创建tf.Variable对象或调用tf.get_variable。用一个新名称调用tf.get_variable会创建一个新变量,但是如果存在相同名称的变量时,这会引发ValueError异常,这也就是告诉我们不允许重新声明相同名称的变量。

,从上述代码,我们可以看到tf.name_scope会影响由tf.Variable创建变量名称,但不会影响由tf.get_variable创建变量名称。

, <强> 2,使用tf.variable_scope

不同于tf.name_scope, tf.variable_scope是会修改由tf.get_variable创建变量的名称的。

 Tensorflow中如何使用范围

但是有时候我们真的想重用一个先前声明的变量,这该怎么办呢?特遣部队。variable_scope提供了这样做的功能,通过设置重用标志位为真就可以了。

Tensorflow中如何使用范围