当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.variable_creator_scope用法及代码示例


定义variable() 使用的变量创建函数的范围。

用法

@tf_contextlib.contextmanager
tf.variable_creator_scope(
    variable_creator
)

参数

  • variable_creator 过去的创造者

生成(Yield)

  • 创建者处于活动状态的范围

variable_creator 应该是具有以下签名的函数:

def variable_creator(next_creator, **kwargs)

如果创建者确实想创建变量而不是直接调用 Variable 或 ResourceVariable,则应该最终调用 next_creator 来创建变量。这有助于使创作者可组合。创建者可以选择创建多个变量,返回已经存在的变量,或者简单地注册一个变量被创建并推迟到下一个创建者。创建者还可以修改下一个创建者看到的关键字参数。

变量范围内的自定义 getter 在创建变量时最终将解析为这些自定义创建者。

kwds 中的有效关键字参数是:

  • initial_value:A Tensor ,或可转换为 Tensor 的 Python 对象,这是变量的初始值。除非 validate_shape 设置为 False,否则初始值必须具有指定的形状。也可以是不带参数的可调用对象,在调用时返回初始值。在这种情况下,必须指定dtype。 (请注意,init_ops.py 中的初始化函数必须先绑定到形状,然后才能在此处使用。)
  • 可训练:如果 True 是默认值,GradientTapes 会自动监视此变量的使用。
  • validate_shape:If False ,允许使用未知形状的值初始化变量。如果 True 是默认值,则必须知道 initial_value 的形状。
  • caching_device:可选设备字符串,说明应缓存变量以供读取的位置。默认为变量的设备。如果不是 None ,则缓存在另一台设备上。典型用途是在使用变量的操作所在的设备上进行缓存,通过Switch 和其他条件语句进行重复数据删除。
  • name:变量的可选名称。默认为 'Variable' 并自动获取唯一性。 dtype:如果设置,initial_value 将被转换为给定的类型。如果 None ,或者保留数据类型(如果 initial_value 是张量),或者 convert_to_tensor 将决定。
  • 约束:在某些算法更新后应用于变量的约束函数。
  • 同步:指示何时聚合分布式变量。接受的值是在类 tf.VariableSynchronization 中定义的常量。默认情况下,同步设置为AUTO,当前的DistributionStrategy 选择何时同步。
  • 聚合:指示如何聚合分布式变量。接受的值是在类 tf.VariableAggregation 中定义的常量。

这个集合可能会随着时间的推移而增长,因此创作者的签名如上所述是很重要的。

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.variable_creator_scope。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。