2017-09-28 2 views
0

Ich versuche, eine Dichtekarte von der Netzwerkausgabe der Dimension 20x20x1x50 zu erreichen. Hier ist 20x20 die Ausgabekarte und 50 ist die Batchgröße.Matconvnet Ausgabe von Marix des tiefen Netzes ist einheitlicher Wert anstelle von variierenden Werten?

Das Problem ist, dass der Wert von Ausgang X ist gleich 0,098 über jede Ausgangsmatrix .. 20x20. Es gibt keine Gaußsche Form wie die Dichtekarte, sondern eine flache, ähnlich geschätzte Ausgangskarte 20x20x1x50. Das Problem ist in der beigefügten Abbildung dargestellt. Was fehlt mir hier? Der euklidische Verlust für Backpropagation wird als gegeben:

enter image description here

case {'l2loss'} 
    res=(c-X); 

    n=1; 
    if isempty(dzdy) %forward 
     Y = sum((res(:).^2))/numel(res); 
    else 
     Y_= -1.*(c-X); 
     Y = 2*single (Y_ * (dzdy/n)); 
    end 

Antwort

0

die Lösung gefunden bei https://github.com/vlfeat/matconvnet/issues/313. Fragen Sie conv.var (i) .value ab, um zu sehen, wo der Wert liegt, und bearbeiten Sie diese Schicht im Conv-Netz. In meinem Fall hatte ich

net2.params (8) .Value = 0,01 * * init_bias Einsen (1, 128, 'single') Vorspannungen der conv Schichten zu ändern;% 'Vorspannungen',

Verwandte Themen