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深入试验看看

      

  • 相关阅读:
    C语言作业(心理魔术)
    心理魔术
    作业
    作业
    自定义打包小游戏的build template,接入SDK,
    JavaScript_call,bind,apply的区别
    JavaScript原型链的理解
    学习笔记—前端基础之ES6的数组
    学习笔记 — 前端基础之ES6(2)
    学习笔记 — 前端基础之ES6(1)
  • 原文地址:https://www.cnblogs.com/68xi/p/8661185.html
Copyright © 2011-2022 走看看