Machine Learing: Mit PyTorch ML-Modelle trainieren und deployen

Die Wahl eines Frameworks hängt vom Einsatzzweck ab. Für das Entwickeln und Deployen von ML-Modellen empfiehlt sich das Python-nahe PyTorch.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht
Lesezeit: 12 Min.
Von
  • Nico Axtmann
Inhaltsverzeichnis

Seit 2019 taucht PyTorch in wissenschaftlichen Veröffentlichungen häufiger auf als TensorFlow. Grund für die wachsende Beliebtheit ist die einfache und Python-nahe Bedienbarkeit des Frameworks – Python-Entwickler fühlen sich mit den PyTorch-Konzepten und -APIs schnell zu Hause. Die Funktionen von PyTorch als End-to-End Deep Learning Framework erstrecken sich vom spezifischen Domäneneinsatz (etwa Bildverarbeitung) bis hin zum Deployment von PyTorch-Modellen. Durch den imperativen Programmierstil gelingt es intuitiv, neuronale Netze zu programmieren und einzelne Berechnungsschritte zu debuggen. Darüber hinaus bietet PyTorch ein umfangreiches Ökosystem mit Tools und Bibliotheken wie Captum und skorch.

Der Artikel richtet sich an Entwickler, die mit PyTorch ihre ersten Schritte gehen wollen. Er beleuchtet Grundlagen und Konzepte und zeigt als praktisches Beispiel, wie man einen Obstklassifizierer mit Transfer Learning trainiert und mit TorchServe als REST-Schnittstelle deployt.

Programmieren in Python

Als Datenstruktur dienen Tensoren. Dabei handelt es sich um eine multidimensionale Matrix, die alle Berechnungen und Operationen durchführt. PyTorch und die Programmbibliothek NumPy ähneln einander in ihrem Schnittstellendesign. Das Pendant zu einem Tensor sind in NumPy die NumPy-Arrays. Dabei lässt sich ein Tensor aus einem NumPy-Array erstellen und umgekehrt. Tensoren lassen sich zwischen CPU und Grafikkarte hin- und herkopieren, um damit beispielsweise das Training zu beschleunigen. Das folgende Listing zeigt einige PyTorch-Codebeispiele.

Immer mehr Wissen. Das digitale Abo für IT und Technik.






Immer mehr Wissen. Das digitale Abo für IT und Technik.