Mithilfe dynamischer Berechnungsdiagramme (DCGs) werden Deep Learning-Modelle in PyTorch dargestellt. Abstrakt gesprochen bilden Berechnungsgraphen den Datenfluss zwischen den verschiedenen Operationen in einem mathematischen System ab: Im Kontext des Deep Learning übersetzen sie im Wesentlichen den Code eines neuronalen Netzes in ein Flussdiagramm, das die an jedem Knoten durchgeführten Operationen und die Abhängigkeiten zwischen den verschiedenen Schichten im Netz anzeigt – die Anordnung der Schritte und Sequenzen, die Eingabedaten in Ausgabedaten umwandeln.
Was dynamische Berechnungsgraphen (wie die in PyTorch verwendeten) von statischen Berechnungsgraphen (wie die in TensorFlow verwendeten) unterscheidet, ist, dass DCGs die genaue Spezifikation von Berechnungen und Beziehungen zwischen ihnen auf die Laufzeit verschieben. Mit anderen Worten: Während bei einem statischen Berechnungsgraphen die Architektur des gesamten neuronalen Netzes vollständig festgelegt und kompiliert werden muss, um ausgeführt werden zu können, können DCGs iteriert und im laufenden Betrieb geändert werden.
Dies macht DCGs besonders nützlich für Debugging und Prototyping, da bestimmte Teile des Modellcodes geändert oder isoliert ausgeführt werden können, ohne dass das gesamte Modell zurückgesetzt werden muss – was bei den sehr großen Deep Learning-Modellen, die für anspruchsvolle Computer Vision- und NLP-Aufgaben verwendet werden, eine Verschwendung von Zeit und Rechenressourcen darstellen kann. Die Vorteile dieser Flexibilität erstrecken sich auch auf die Modellschulung, da dynamische Berechnungsgraphen während der Backpropagation leicht in umgekehrter Richtung erzeugt werden können.
Während ihre feste Struktur eine höhere Recheneffizienz ermöglichen kann, verfügen statische Rechendiagramme über eine begrenzte Flexibilität: Beispielsweise können sie ein Modell erstellen, das abhängig von den Eingabedaten eine unterschiedliche Anzahl von Schichten verwendet – wie ein Convolutional Neural Network (CNN), das Bilder unterschiedlicher Größen verarbeiten kann – ist bei statischen Diagrammen sehr schwierig.