Maschinelles Lernen mit TypeScript: Top-Bibliotheken für ML im Jahr 2024

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Maschinelles Lernen mit TypeScript: Überblick über Bibliotheken und Werkzeuge



TypeScript ist nicht nur eine strenge Typisierung für JavaScript. Dank seines Ökosystems und der Kompatibilität mit JS wird es zu einer leistungsstarken Plattform für maschinelles Lernen (ML) direkt im Browser oder auf dem Server (Node.js). In diesem Artikel betrachten wir vier Schlüsselbibliotheken, mit denen Sie ML-Modelle in TypeScript entwickeln, trainieren und ausführen können.



1. TensorFlow.js — das Flaggschiff von ML in TypeScript

TensorFlow.js ist ein Port des beliebten Frameworks TensorFlow auf JavaScript/TypeScript. Es unterstützt sowohl den Browser als auch Node.js. Der Hauptvorteil ist die Möglichkeit, Training und Inferenz (Ausgabe) direkt auf der Client-Seite durchzuführen, ohne Daten an den Server zu senden.



Installation

npm install @tensorflow/tfjsnpm install @tensorflow/tfjs-node  // für Node.js mit CPU-Beschleunigungnpm install @tensorflow/tfjs-node-gpu // für GPU


Beispiel: Lineare Regression in TypeScript

import * as tf from '@tensorflow/tfjs';

// Einfaches Modell erstellen: y = 2x - 1const model = tf.sequential();model.add(tf.layers.dense({ units: 1, inputShape: [1] }));

// Kompilierungmodel.compile({ optimizer: 'sgd', loss: 'meanSquaredError' });

// Trainingsdatenconst xs = tf.tensor2d([0, 1, 2, 3, 4], [5, 1]);const ys = tf.tensor2d([-1, 1, 3, 5, 7], [5, 1]);

// Trainingmodel.fit(xs, ys, { epochs: 250 }).then(() => { // Vorhersage für x=5 const output = model.predict(tf.tensor2d([5], [1, 1])) as tf.Tensor; output.print(); // ≈ 9 (2*5 - 1)});


TensorFlow.js unterstützt auch das Laden vortrainierter Modelle (z. B. MobileNet zur Bildklassifikation) und die Arbeit mit Berechnungsgraphen.



2. ML5.js — ML für kreative Projekte

ML5.js baut auf TensorFlow.js auf und ist auf einfache Bedienung ausgelegt. Ideal für Künstler, Designer und ML-Neulinge. Die Bibliothek bietet High-Level-APIs für Aufgaben wie Klassifikation, Textgenerierung, Gestenerkennung usw.



Installation

npm install ml5


Beispiel: Bildklassifikation (MobileNet)

import * as ml5 from 'ml5';

// Vortrainiertes MobileNet-Modell ladenconst classifier = ml5.imageClassifier('MobileNet');

// Bild per URL klassifizierenconst img = new Image();img.crossOrigin = 'anonymous';img.src = 'https://example.com/cat.jpg';

img.onload = () => { classifier.classify(img, (err: Error | null, results: any[]) => { if (err) { console.error(err); return; } console.log('Ergebnisse:', results); // [{ label: 'tabby cat', confidence: 0.98 }, ...] });};


ML5.js lädt automatisch die Modellgewichte und bietet einen einfachen Callback. Hervorragend geeignet für schnelle Prototypen und interaktive Installationen.



3. Brain.js — neuronale Netze ohne Komplexität

Brain.js ist eine Bibliothek zur Erstellung neuronaler Netze mit minimalem Codeaufwand. Unterstützt Feedforward-Netze, LSTM und RNN. Funktioniert sowohl im Browser als auch in Node.js.



Installation

npm install brain.js


Beispiel: XOR-Funktion (exklusives Oder)

import * as brain from 'brain.js';

const net = new brain.NeuralNetwork();

net.train([ { input: [0, 0], output: [0] }, { input: [0, 1], output: [1] }, { input: [1, 0], output: [1] }, { input: [1, 1], output: [0] }], { iterations: 10000, errorThresh: 0.005});

const output = net.run([1, 0]); // ≈ 0.98 (nahe 1)console.log(`Ergebnis: ${output}`);


Brain.js normalisiert Daten automatisch und unterstützt das Speichern/Laden trainierter Modelle im JSON-Format.



4. Synaptic — architektonische Flexibilität

Synaptic ist eine Bibliothek zur Erstellung komplexer neuronaler Netzarchitekturen: Perzeptronen, mehrschichtige Netze

Empfehlungen