zoukankan      html  css  js  c++  java
  • Truncated Normal Distribution とNeural Network(ニューラルネットワーク)の初期化(Initialization)

    Truncated Normal Distribution とNeural Network(ニューラルネットワーク)の初期化(Initialization)

    Tensorflowを利用してもらった初めてに、どうしてもニューラルネットワークの初期化を迷っていることが避けない。
    実はルールがあります、そしてやり方は簡単し、ご注意のところが薄がって、なんの困りがありませんはずだ。

    まずコードの欠片を見せてください!

    import tensorflow as tf

    def get_conv_weights(w, h, chn_in, chn_out):
    dim = [w, h, chn_in, chn_out]
    init_op = tf.truncated_normal(dim, mean=0.0, stddev=0.1)
    return tf.get_variable(
    name='weights',
    initializer=init_op)

    def get_fc_weights(chn_in, chn_out):
    dim = [chn_in, chn_out]
    init_op = tf.truncated_normal(dim, mean=0.0, stddev=0.1)
    return tf.get_variable(
    name='weights',
    initializer=init_op)

    ここに書いてあるものはパラメーターの初期化です。stddevはその一番重要なセットだ。普通には0.1ー0.2に限定している。この範囲以外のセットはダメだ。
    なぜダメだろうか、実際に運転すればすぐ分かるぞ。
    とくにsoftmax-cross-entrophy lossとのお使い場合には立派な程度で役に立つ。

  • 相关阅读:
    java 23种设计模式 深入理解
    ORACLE 一条记录 某字段值以';'拆分为多条记录
    rabbitmq集群故障恢复
    ORACLE 时间加减操作
    Asp.net MVC Razor输出字符串方法(js中嵌入razor)
    C# ToString() 数据格式
    DOM的整个知识体系
    EF 连接模式
    EF Code First 数据库连接方式
    使用border实现提示框的
  • 原文地址:https://www.cnblogs.com/thisisajoke/p/12065837.html
Copyright © 2011-2022 走看看