zoukankan      html  css  js  c++  java
  • tensorflow 参数初始化

    1、tf.constant_initializer()

    也可以简写为tf.Constant()

    初始化为常数,这个非常有用,通常偏置项就是用它初始化的。

    由它衍生出的两个初始化方法:

    a、 tf.zeros_initializer(), 也可以简写为tf.Zeros()

    b、tf.ones_initializer(), 也可以简写为tf.Ones()

    bias_initializer = tf.constant_initializer(0)

    W= tf.get_variable('W', shape=[3, 3], initializer=bias_initializer)

    with tf.Session() as sess:

        sess.run(init)

         print("W = ", sess.run(W))

    2. tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)

    从截断的正态分布中输出随机值。 
    生成的值服从具有指定平均值和标准偏差的正态分布,如果生成的值大于平均值2个标准偏差的值则丢弃重新选择。

    在正态分布的曲线中,横轴区间(μ-σ,μ+σ)内的面积为68.268949%。 
    横轴区间(μ-2σ,μ+2σ)内的面积为95.449974%。 
    横轴区间(μ-3σ,μ+3σ)内的面积为99.730020%。 
    X落在(μ-3σ,μ+3σ)以外的概率小于千分之三,在实际问题中常认为相应的事件是不会发生的,基本上可以把区间(μ-3σ,μ+3σ)看作是随机变量X实际可能的取值区间,这称之为正态分布的“3σ”原则。 
    在tf.truncated_normal中如果x的取值在区间(μ-2σ,μ+2σ)之外则重新进行选择。这样保证了生成的值都在均值附近。

    参数:

    • shape: 一维的张量,也是输出的张量。
    • mean: 正态分布的均值。
    • stddev: 正态分布的标准差。
    • dtype: 输出的类型。
    • seed: 一个整数,当设置之后,每次生成的随机数都一样。
    • name: 操作的名字。
    3. tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)

    从正态分布中输出随机值。 
    参数:

    • shape: 一维的张量,也是输出的张量。
    • mean: 正态分布的均值。
    • stddev: 正态分布的标准差。
    • dtype: 输出的类型。
    • seed: 一个整数,当设置之后,每次生成的随机数都一样。
    • name: 操作的名字。

    代码

    a = tf.Variable(tf.random_normal([2,2],seed=1))
    b = tf.Variable(tf.truncated_normal([2,2],seed=2))
    init = tf.global_variables_initializer()
    with tf.Session() as sess:
        sess.run(init)
        print(sess.run(a))
        print(sess.run(b))
  • 相关阅读:
    ftp下载显示进度
    Java 类加载器(转)
    Java中的Enum的使用与分析
    Iterator的remove方法可保证从源集合中安全地删除对象(转)
    [置顶] 关于我
    Java实现 蓝桥杯 算法提高 周期字串
    Java实现 蓝桥杯 算法提高 学霸的迷宫
    Java实现 蓝桥杯 算法提高 上帝造题五分钟
    Java实现 蓝桥杯 算法提高 上帝造题五分钟
    Java实现 蓝桥杯 算法提高 周期字串
  • 原文地址:https://www.cnblogs.com/pzf9266/p/8879804.html
Copyright © 2011-2022 走看看