2017-11-03 57 views
0

我正在使用Keras功能API,我想知道:什麼時候內核初始化?是否在創建圖層時,像什麼時候在Keras中初始化內核?

x = Dense(32, kernel_initializer='glorot_uniform')(x) 

還是在編譯模型期間?例如

model.compile(optimizer='rmsprop', loss='categorical_crossentropy') 

我想這期間model.fit(...)不是否則我就不能微調預訓練的模型,因爲以前的權重將會丟失。我錯過了什麼嗎?

回答

0

事實證明Layer超類定義了方法build(input_shape)所有具有權重的派生類,如DenseConv2D必須實現。除此之外,在該方法中,權重變量被創建和初始化。這build實際上是由Layer的方法__call__,這是一個堪稱線

x = Dense(32, kernel_initializer='glorot_uniform')(x) 

構造之後,__init__調用。

參考:https://github.com/fchollet/keras/blob/master/keras/engine/topology.py

相關問題