Machine Learning: ML-Modelle mit F# und TorchSharp erstellen

Wer im .NET-Universum unterwegs ist, muss für Machine Learning nicht Python lernen. Mit der Bibliothek TorchSharp lassen sich mit F# ML-Modelle erstellen.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht
Lesezeit: 14 Min.
Von
  • Daniel Basler
Inhaltsverzeichnis

F# ist aufgrund seiner effizienten Ausführung, seines prägnanten Stils, der Datenzugriffsmöglichkeiten und seiner Skalierbarkeit gut für mathematische Aufgabenstellungen in Wissenschaft und Technik, im Bereich Finanzen sowie bei Datenanalysen und Datenmodellierung geeignet. Und damit auch für maschinelles Lernen. F# punktet mit kompaktem Programmcode, der oft effizienter ist als bei anderen Sprachen. Programme in F# bestehen aus Definitionen von Typen, Variablen und Funktionen. Die Typen dieser Definitionen werden über Typinferenz automatisch ermittelt.

Datentypen in F# sind unveränderbar. Hierdurch sowie mit der Typinferenz vermeidet man Seiteneffekte im Programmcode. F# unterstützt die Komposition von Funktionen, Pattern Matching, Rekursion, Listen und weiteren Kollektionen sowie Funktionen höherer Ordnung. Das funktionale Paradigma vereinfacht die parallele und asynchrone Programmierung gegenüber anderen Sprachen. F# zielt auf eine Vielzahl von Anwendungsfällen und enthält zahlreiche Sprachelemente sowie eine große Standardbibliothek.

iX-tract
  • Mit der Bibliothek ML.NET bekommen F#-Entwickler alle Werkzeuge, die sie zum Erstellen von Machine-Learning-Modellen benötigen. So lässt sich maschinelles Lernen schnell in Web-, Mobil-, Desktop- und IoT-Anwendungen integrieren.
  • Die an PyTorch angelehnte Bibliothek TorchSharp erleichtert den Umgang mit Tensoren und das Einbinden der GPU über die CUDA-API von Nvidia.
  • Dabei arbeitet TorchSharp mit dynamischen Berechnungsgraphen, sodass man Funktionen zur Laufzeit ändern kann und sich alle Gradienten dynamisch mit anpassen. Das hebt TorchSharp vom statischeren Framework TensorFlow ab.
Mehr zu Machine Learning
Daniel Basler

Daniel Basler arbeitet als Softwareentwickler bei der Solarlux GmbH. Seine Schwerpunkte liegen auf Cross-Platform-Apps, Android, JavaScript und Microsoft-Technologien.

F# ist ein vollwertiges Mitglied der .NET-Framework-Sprachen und ermöglicht auch das Erweitern anderer .NET-Framework-Anwendungen durch F#-Code. Mithilfe der Bibliotheken ML.NET und TorchSharp bringt F# die passenden Werkzeuge mit, um Machine-Learning-Modelle zu erstellen. Dieser Artikel veranschaulicht das Erstellen eines ML-Modells mit F# und TorchSharp anhand eines einfachen Beispiels. Vorkenntnisse in funktionaler Programmierung mit F# sind von Vorteil, aber nicht zwingend notwendig.

Das war die Leseprobe unseres heise-Plus-Artikels "Machine Learning: ML-Modelle mit F# und TorchSharp erstellen". Mit einem heise-Plus-Abo können sie den ganzen Artikel lesen und anhören.

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