1

ich in Theano eine Faltung tue:Aus Speicherfehler für Faltung Theano mit

theano.tensor.nnet.conv.conv2d(x,h, border_mode='full') 

und es läuft, aus dem Speicher erhalte ich die folgende Meldung:

RuntimeError: GpuCorrMM failed to allocate working memory of 3591 x 319086 

Apply node that caused the error: GpuCorrMM_gradInputs{valid, (1, 1)}(GpuContiguous.0, GpuContiguous.0) 
Inputs types: [CudaNdarrayType(float32, (True, False, True, False)), CudaNdarrayType(float32, (False, True, False, False))] 
Inputs shapes: [(1, 513, 1, 7), (1, 1, 513, 622)] 
Inputs strides: [(0, 7, 0, 1), (0, 0, 622, 1)] 
Inputs values: ['not shown', 'not shown'] 

I Einstellung versucht haben, theano kennzeichnet 'optimizer_excluding = conv_dnn', funktioniert aber immer noch nicht. Gibt es einen Weg dazu?

Antwort

3

Sie versuchen, eine Matrix zuzuordnen, die etwa 9 TB Speicher benötigt. Ein einzelnes Neuron benötigt 2,5 GB Speicher. Die einzige Optimierung, die ich für solche Probleme kenne, ist entweder die Anzahl der Einheiten zu verringern oder mehr RAM zu kaufen. Lasten von RAM :)

+1

Well. Oder einfach nur alte Dimensionsreduktion oder Downsampling;) – runDOSrun

+0

Yeah! Punkt! :) –

0

Für mich habe ich g ++ zur Laufzeit deaktiviert, indem Sie einfach das (MinGW) bin-Verzeichnis aus der Pfadvariablen entfernen. Die Verarbeitungszeit ist langsam, aber es schließt den Prozess ab.

Meine Programmausführung Umgebung: O Windows Vista 32-Bit-CPU Intel 2,16 GHz, RAM 4,00 GB und kein GPU