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


Python tf.constant_initializer用法及代码示例


生成具有常量值的张量的初始化程序。

用法

tf.constant_initializer(
    value=0
)

参数

  • value Python 标量、值列表或元组,或 N 维 numpy 数组。初始化变量的所有元素都将设置为 value 参数中的相应值。

抛出

  • TypeError 如果输入 value 不是预期类型之一。

Initializers 允许您预先指定初始化策略,编码在 Initializer 对象中,而无需知道正在初始化的变量的形状和 dtype。

tf.constant_initializer 返回一个对象,该对象在调用时返回一个填充有构造函数中指定的 value 的张量。此 value 必须可转换为请求的 dtype

参数value 可以是标量常量值或值列表。标量广播到初始化器请求的任何形状。

如果value 是一个列表,则列表的长度必须等于所需张量形状所隐含的元素数。如果 value 中的元素总数不等于张量形状所需的元素数,则初始化程序将引发 TypeError

例子:

def make_variables(k, initializer):
  return (tf.Variable(initializer(shape=[k], dtype=tf.float32)),
          tf.Variable(initializer(shape=[k, k], dtype=tf.float32)))
v1, v2 = make_variables(3, tf.constant_initializer(2.))
v1
<tf.Variable ... shape=(3,) ... numpy=array([2., 2., 2.], dtype=float32)>
v2
<tf.Variable ... shape=(3, 3) ... numpy=
array([[2., 2., 2.],
       [2., 2., 2.],
       [2., 2., 2.]], dtype=float32)>
make_variables(4, tf.random_uniform_initializer(minval=-1., maxval=1.))
(<tf.Variable...shape=(4,) dtype=float32...>, <tf.Variable...shape=(4, 4) ...
value = [0, 1, 2, 3, 4, 5, 6, 7]
init = tf.constant_initializer(value)
# Fitting shape
tf.Variable(init(shape=[2, 4], dtype=tf.float32))
<tf.Variable ...
array([[0., 1., 2., 3.],
       [4., 5., 6., 7.]], dtype=float32)>
# Larger shape
tf.Variable(init(shape=[3, 4], dtype=tf.float32))
Traceback (most recent call last):

TypeError:...value has 8 elements, shape is (3, 4) with 12 elements...
# Smaller shape
tf.Variable(init(shape=[2, 3], dtype=tf.float32))
Traceback (most recent call last):

TypeError:...value has 8 elements, shape is (2, 3) with 6 elements...

相关用法


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