2016-04-05 5 views
6

Ich versuche zu verstehen, wie die Convnet Speicherauslastung Berechnung here durchgeführt wurde (scrollen Sie bis zum VGGNet im Detail Abschnitt).Verständnis der Speicherauslastung des neuronalen Netzwerks

Der Ausgang der Berechnung, um zu sehen, wie viel Speicher das VGGNet Netzwerk verwendet sagt:

TOTAL memory: 24M * 4 bytes ~= 93MB 

jedoch Addition aller memory: Werte von jeder der Schichten in der Liste nur gibt etwa 15M * 4 Bytes und Ich bin mir nicht sicher, woher der Rest der Erinnerung in dieser Summe stammt.

+2

Ich würde sagen, dass das inkonsistente Beispiel ist. – lejlot

+0

Ich bekomme ~ 90MB mit der gleichen Mathematik auf 19-Schicht-Implementierung E, anstelle von 16 Schicht D: http://arxiv.org/pdf/1409.1556.pdf – lossleader

Antwort

0

Sie haben vergessen, Speicher für die FCs hinzuzufügen:

FC: [1x1x4096] Speicher: 4096 Gewichte: 7 * 7 * 512 * 4096 = 102.760.448

FC: [1x1x4096] Speicher: 4096 Gewichte: 4096 * 4096 = 16.777.216

FC: [1x1x1000] Speicher: 1000 Gewichte: 4096 * 1000 = 4.096.000

ich denke, dass das verlorene 9M in Ihren Berechnungen ist.

+0

Wo denken Sie, die fehlende 9M ist in diesen Zahlen, bist du addieren Sie 4096 + 4096 + 1000? Diese Zahlen beschreiben die Anzahl der Neuronen in jeder Schicht, die Berechnung geht davon aus, dass jedes Neuron 4 Byte Speicher benötigt (deshalb wird die letzte Zahl mit 4 Byte multipliziert), so dass sie den Unterschied nicht berücksichtigen – codebox