Maschinelles Lernen mit TypeScript: Überblick über ML-Bibliotheken 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 ML-Bibliotheken im Jahr 2024



TypeScript erobert sich nicht nur in der Webentwicklung, sondern auch im Data Science-Bereich einen festen Platz. Dank statischer Typisierung und Kompatibilität mit JavaScript wird es zu einem praktischen Werkzeug für die Erstellung von Modellen des maschinellen Lernens (ML), die direkt im Browser oder auf dem Server (Node.js) laufen. In diesem Artikel betrachten wir die wichtigsten Bibliotheken für maschinelles Lernen mit TypeScript, ihre Besonderheiten, Codebeispiele und Anwendungsszenarien.



1. TensorFlow.js — Das wichtigste Framework für ML im Browser



TensorFlow.js ist ein Port des beliebten Frameworks TensorFlow auf JavaScript/TypeScript. Es ermöglicht das Training und die Inferenz von Modellen sowohl im Browser als auch in Node.js. Die Bibliothek unterstützt GPU-Beschleunigung über WebGL und WebGPU, was eine Leistungssteigerung bringt.



Hauptfunktionen:

  • Erstellung neuronaler Netze mit einer High-Level-API (tf.sequential, tf.model).
  • Laden vortrainierter Modelle aus dem TensorFlow Hub.
  • Konvertierung von Modellen aus der Python-Version von TensorFlow in das .json-Format.
  • Arbeit mit Tensoren, Optimierern und Schichten.


Beispiel: Lineare Regression mit TypeScript

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

// Daten: Abhängigkeit y = 2x - 1const xs = tf.tensor2d([-1, 0, 1, 2, 3, 4], [6, 1]);const ys = tf.tensor2d([-3, -1, 1, 3, 5, 7], [6, 1]);

// Modell erstellenconst model = tf.sequential();model.add(tf.layers.dense({units: 1, inputShape: [1]}));

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

// Trainingmodel.fit(xs, ys, {epochs: 250}).then(() => { model.predict(tf.tensor2d([10], [1, 1])).print(); // Ausgabe: ~19 (nahe an 2*10 - 1 = 19)});


2. ML5.js — Bibliothek für kreatives ML



ML5.js baut auf TensorFlow.js auf und ist auf einfache Bedienung ausgelegt. Es bietet vorgefertigte Modelle für Bild-, Ton-, Text- und Gestenerkennung. Ideal für Bildungsprojekte und Prototyping.



Beispiel: Bildklassifizierung

import * as ml5 from 'ml5';

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

// Bild klassifizierenconst img = document.getElementById('myImage') as HTMLImageElement;classifier.classify(img, (err: Error | null, results: any[]) => { if (err) console.error(err); else console.log('Ergebnis:', results[0].label);});


3. Brain.js — Neuronale Netze für Node.js und den Browser



Brain.js ist eine leichte Bibliothek zur Erstellung neuronaler Netze in JavaScript/TypeScript. Es unterstützt verschiedene Architekturen: LSTM, RNN, GRU. Ideal für Zeitreihenprognosen und Textverarbeitung.



Beispiel: Einfaches neuronales Netz für XOR

import 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] }]);

const output = net.run([1, 0]); // ~0.99console.log(output);


4. Synaptic — Architektonisch flexible Bibliothek



Synaptic ermöglicht die Erstellung neuronaler Netze beliebiger Architektur, einschließlich mehrschichtiger Perzeptrons, rückgekoppelter Netze und selbstorganisierender Karten (Kohonen-Netze). Es benötigt keine Abhängigkeiten und läuft im Browser.



Beispiel: Erstellen eines Perzeptrons

import { Architect, Trainer } from 'synaptic';

const network = new Architect.Perceptron(2, 3, 1);const trainer = new Trainer(network);

trainer.train([ { input: [0, 0], output: [0] }, { input: [0, 1], output: [1] }, { input: [1, 0], output: [1] }, { input: [1, 1], output: [0] }], { iterations: 1000 });

console.log(network.activate([1, 0])); // ~0.98


5

Empfehlungen