本筆記由博客園-圓柱模板 博主整理筆記發布,轉載需注明,謝謝合作!
參數初始化(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深入試驗看看