1
有沒有方法可以用常數矩陣初始化權重/偏差?例如,我可以做Dense(hidden_layers_dim_1,init = W),而不是Dense(hidden_layers_dim_1,init = he_normal()),其中W是一個浮點矩陣。用常量初始化權重/偏差cntk
有沒有方法可以用常數矩陣初始化權重/偏差?例如,我可以做Dense(hidden_layers_dim_1,init = W),而不是Dense(hidden_layers_dim_1,init = he_normal()),其中W是一個浮點矩陣。用常量初始化權重/偏差cntk
更新-1:
密集層似乎現在接受numpy的陣列和恆定值作爲初始權重(cntk-2.0rc3)按照參數文檔here。
圖層無法取初始權重值。但是,您可以在任何適當的圖層中使用init_bias
命名參數傳入初始偏移值。但是,如果您必須使用初始權重值,那麼我想您已經創建了一個變量並像您一樣定義了您自己的網絡。即
features = <your_input_var>
W = cntk.Parameter((<proper_shape>), init=<intial_value>)
B = cntk.Parameter((<proper_shape>), init=<intial_value>)
output = features @ W + B;
由於我沒有得到答覆,我記下了對我有用的解決方案 - 我在Examples/common/nn.py中添加了一個新的線性層,它使用了初始權重和偏差。 'def linear_layer_initialized(input_var,output_dim,initW,initb): times_param = parameter(shape =((input_var.shape [0],output_dim)),init = np.array(initW,dtype = np.float32) ) t = times(input_var,times_param) return bias_param + t'參數(形狀=(output_dim),init = np.array – user7835618