Ich habe 2 Matrices von Formenauf Matrixmultiplikation in Tensorflow
a: [1, 3, 3, 512, 512]
b: [1, 14, 14, 3, 3, 512,1]
Das Ausgangssignal erhalten wird durch
output = tf.multiply(a,b)
und Form hat
output: [1, 14, 14, 3, 3, 512, 512]
Dieser Vorgang allein benötigt etwa 5 GB GPU-Speicher. Ich würde gerne wissen, ob es irgendeinen Weg gibt, diesen Speicherverbrauch zu reduzieren (da ich in Zukunft viel größere Matrizen für dieselbe Operation haben werde).
Ich versuchte einen Workaround, indem Sie sowohl a
als auch b
in halbe Genauigkeit umwandelten. Dies half auch nicht bei der Reduzierung der Speicherauslastung.
Es wäre toll zu wissen, ob es irgendwelche Tricks in Tensorflow gibt, die ich dafür nutzen kann.
Danke!
Ich möchte die Speichernutzung des Multiplikationsprozesses reduzieren. Ich verwende bereits diese beiden Eigenschaften, die Sie erwähnt haben. – viggie
Wenn Ihre Matrizen sehr groß sind, sollten Sie diese Matrizen an die CPU anpinnen, um den Speicherbedarf des Grafikprozessors zu reduzieren. – soloice
Vielleicht scheint das der einzige Hack zu sein, obwohl man die Geschwindigkeit – viggie