あなたの第二の部分に答えるために、私は、可視化の目的のための私のモデルでは、すべての層のノルムを取得するには、次のコードを使用:今すぐ
for layer in model.layers:
if('Convolution' in str(type(layer))):
i+=1
layer_weight = []
for feature_map in layer.get_weights()[0]:
layer_weight.append(linalg.norm(feature_map)/np.sqrt(np.prod(feature_map.shape)))
l_weights.append((np.sum(layer_weight)/len(layer_weight), layer.name, i))
weight_per_layer.append(np.sum(layer_weight)/len(layer_weight))
conv_weights.append(layer_weight)
損失関数でこれを使用します私はこのような何かをしようとするだろう:
def get_loss_function(weights):
def loss(y_pred, y_true):
return (y_pred - y_true) * weights # or whatever your loss function should be
return loss
model.compile(loss=get_loss_function(conv_weights), optimizer=SGD(lr=0.1))
もう一つの問題は、例えば、 セイ私はl2_regularizationを使用しています Tensorflow has - tf.nn.l2_lossこれは使用できますか? 1.K.sum(K.square(K.abs(重み)) 2. tf.nn.l2_loss これらは同じ意味で使用できますか? –
私は、12正則化がモデルのレイヤに格納され、レイヤインターフェイスを使用して抽出できると確信しています。 –