tensorflow生成常量_TensorFlow使用初始化器生成具有常量值的张量

tf.constant_initializertf.constant_initializer 类tf.contrib.keras.initializers.Constant 类

初始化器用于生成具有常量值的张量.

生成的张量由 dtype 类型的值填充,参数值按照新张量的期望形状来指定(参见下面的例子).

参数值可以是常量值,或者是 dtype 类型的值的列表.如果值是一个列表,则列表的长度必须小于或等于所需的张量形状所隐含的元素数.如果值中的元素总数小于张量形状所需的元素数,则值中的最后一个元素将用于填充剩余的项.如果值中的元素总数大于张量形状所需的元素数,则初始值设定项将引发 ValueError.

ARGS:value:一个 Python 标量、值列表或者 N 维 numpy 数组.初始化变量的所有元素都将设置为值参数中的相应值.

dtype:数据类型.

verify_shape:布尔值,用于验证数值形状.为 True 时,如果值的形状与初始张量的形状不兼容,则初始值设定项将引发错误.

示例:可以使用 numpy.ndarray 而不是 value 列表重写以下示例,甚至重新映射,如 value 列表初始化下面的两个注释行所示.>>> import numpy as np

>>> import tensorflow as tf

>>> value = [0, 1, 2, 3, 4, 5, 6, 7]

>>> # value = np.array(value)

>>> # value = value.reshape([2, 4])

>>> init = tf.constant_initializer(value)

>>> print('fitting shape:')

>>> with tf.Session():

>>> x = tf.get_variable('x', shape=[2, 4], initializer=init)

>>> x.initializer.run()

>>> print(x.eval())

fitting shape:

[[ 0. 1. 2. 3.]

[ 4. 5. 6. 7.]]

>>> print('larger shape:')

>>> with tf.Session():

>>> x = tf.get_variable('x', shape=[3, 4], initializer=init)

>>> x.initializer.run()

>>> print(x.eval())

larger shape:

[[ 0. 1. 2. 3.]

[ 4. 5. 6. 7.]

[ 7. 7. 7. 7.]]

>>> print('smaller shape:')

>>> with tf.Session():

>>> x = tf.get_variable('x', shape=[2, 3], initializer=init)

* `ValueError`: Too many elements provided. Needed at most 6, but received 8

>>> print('shape verification:')

>>> init_verify = tf.constant_initializer(value, verify_shape=True)

>>> with tf.Session():

>>> x = tf.get_variable('x', shape=[3, 4], initializer=init_verify)

* `TypeError`: Expected Tensor's shape: (3, 4), got (8,).

方法

__init____init__(

value=0,

dtype=tf.float32,

verify_shape=False

)

__call____call__(

shape,

dtype=None,

partition_info=None,

verify_shape=None

)

from_configfrom_config(

cls,

config

)

从配置字典中实例化一个初始化程序.

例:initializer = RandomUniform(-1, 1)

config = initializer.get_config()

initializer = RandomUniform.from_config(config)

参数:config:Python 字典.它通常是 get_config 的输出.

返回:

一个初始化程序实例.

get_configget_config ()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值