zoukankan      html  css  js  c++  java
  • keras模块学习之-参数初始化与对象调用-笔记

        本笔记由博客园-圆柱模板 博主整理笔记发布,转载需注明,谢谢合作!

             参数初始化(Initializations)

         这个模块的作用是在添加layer时调用init进行这一层的权重初始化,有两种初始化方法,以下为样例:

    model.add(Dense(64, init='uniform'))
    

      可以选择的初始化方法有: 
               uniform、lecun_uniform、normal、orthogonal、zero、glorot_normal、he_normal等

            对象调用

       该对象必须包含两个参数:shape(待初始化的变量的shape)和name(该变量的名字),该可调用对象必须返回一个(Keras)变量,例如K.variable()返回的就是这种变量

        如:

                     

    from keras import backend as K
    import numpy as np
    
    def my_init(shape, name=None):
        value = np.random.random(shape)
        return K.variable(value, name=name)
    
    model.add(Dense(64, init=my_init))
    
    或者
    
    from keras import initializations
    
    def my_init(shape, name=None):
        return initializations.normal(shape, scale=0.01, name=name)
    
    model.add(Dense(64, init=my_init))
    

      

         所以说可以通过库中的方法设定每一层的初始化权重,也可以自己初始化权重,自己设定的话可以精确到每个节点的权重,那么是否可以在这儿做文章优化特征呢?我觉得可以针对不同的task深入试验看看

      

  • 相关阅读:
    java8
    java7
    java6
    java5
    java复习4
    学习笔记
    Reflection笔记
    通过Reflection来获得方法和信息
    學習反射2
    學習反射1
  • 原文地址:https://www.cnblogs.com/68xi/p/8661185.html
Copyright © 2011-2022 走看看