2017-02-28 77 views
5

我想將預先訓練好的caffe模型轉換爲keras,然後我需要逐層初始化圖層。 我將重量和偏差保存在mat文件中,並將它們加載到python工作區。 我知道「權重」參數獲得numpy數組,但不是如何? 謝謝如何通過keras中的numpy數組初始化圖層

+0

卷積層檢查http://stackoverflow.com/questions/42211619/how-to-set-weights-for-convolution2d/42212349#42212349 – maz

+0

@maz,這是有用 –

回答

2

您可以在Keras Layers Documentation中獲得更多關於如何設置模型重量的信息。基本上使用:

layer.set_weights(weights):從numpy的陣列的列表設置該層的權重(與相同的形狀的get_weights的輸出)。

或者您可以在創建圖層時直接初始化它們。每個圖層都有一個參數weights,您可以使用numpy數組進行設置。閱讀each layer's documentation以提供正確的權重格式。例如,Dense()層接受這種格式參數weights

numpy的陣列列表以設定爲初始權重。該列表應該有兩個元素,分別爲權重和偏差的形狀(input_dim,output_dim)和(output_dim)。 source