Tensorflow-Code-Optimierungsstrategie

8

Bitte entschuldigen Sie die Breite dieser Frage. Vielleicht kann ich, wenn ich mehr weiß, vielleicht genauer fragen.

Ich habe ein leistungsempfindliches Stück Tensorflusscode. Aus der Perspektive von jemandem, der wenig Ahnung von GPU-Programmierung hat, würde ich gerne wissen, welche Anleitungen oder Strategien ein "guter Startpunkt" für die Optimierung meines Codes wären. (einzelne GPU)

Vielleicht wäre sogar eine Anzeige, wie lange für jede Tensorflow-Operation ausgegeben wurde, nett ...

Ich habe ein vages Verständnis, dass

  • Einige Operationen werden schneller ausgeführt, wenn sie einer CPU statt einer GPU zugewiesen werden, aber es ist nicht klar, welche
  • Es gibt ein Stück Google-Software namens "EEG", über das ich in einem Artikel gelesen habe Papier, das eines Tages offen sein könnte.

Es kann auch andere gemeinsame Faktoren geben, die mir nicht bekannt sind.

    
user3391229 10.06.2016, 15:16
quelle

1 Antwort

17

Ich wollte eine vollständigere Antwort geben, wie man das Objekt Timeline verwendet, um die Ausführungszeit für jeden Knoten im Graphen zu erhalten:

  • Sie verwenden eine klassische sess.run() , spezifizieren aber die Argumente options und run_metadata
  • Sie erstellen dann ein Timeline-Objekt mit dem run_metadata.step_stats data

Hier ist ein Beispielcode:

%Vor%

Sie können dann Google Chrome öffnen, auf die Seite chrome://tracing gehen und die timeline.json -Datei laden. Du solltest etwas wie:

    
Olivier Moindrot 12.06.2016, 12:49
quelle

Tags und Links