Maschinelles Lernen: TypeScript-Bibliotheken für Browser und Node.js

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 die wichtigsten Bibliotheken

\n\n

TypeScript – eine statisch typisierte Erweiterung von JavaScript – wird zunehmend in Projekten eingesetzt, die mit maschinellem Lernen (ML) zu tun haben. Dank strenger Typisierung, verbesserter Lesbarkeit des Codes und hervorragender IDE-Unterstützung ermöglicht TypeScript die Erstellung zuverlässiger ML-Anwendungen, die sowohl im Browser als auch auf dem Server (Node.js) laufen. In diesem Artikel betrachten wir die wichtigsten Bibliotheken für maschinelles Lernen mit TypeScript, ihre Funktionen und geben praktische Beispiele.

\n\n

1. TensorFlow.js – der Vorreiter des maschinellen Lernens mit TypeScript

\n\n

TensorFlow.js ist ein Port des beliebten Frameworks TensorFlow für JavaScript und TypeScript. Es ermöglicht die Ausführung von Modellen des maschinellen Lernens direkt im Browser oder auf Node.js ohne Serverinfrastruktur. Die Bibliothek unterstützt alle wesentlichen ML-Schritte: das Laden von vortrainierten Modellen, das Trainieren neuer Modelle, die Inferenz (Vorhersage) und sogar die Feinabstimmung (Fine-Tuning).

\n\n

Installation:

\n
npm install @tensorflow/tfjs\nnpm install @tensorflow/tfjs-node  # für Node.js (mit Beschleunigung)
\n\n

Beispiel: Bildklassifizierung mit dem vortrainierten Modell MobileNet

\n
import * as tf from '@tensorflow/tfjs';\nimport { loadGraphModel } from '@tensorflow/tfjs-converter';\n\nasync function classifyImage(imageElement: HTMLImageElement) {\n  // Laden des vortrainierten MobileNet-Modells\n  const model = await loadGraphModel(\n    'https://tfhub.dev/google/tfjs-model/imagenet/mobilenet_v2_100_224/classification/3/default/1'\n  );\n\n  // Konvertieren des Bildes in einen Tensor\n  const tensor = tf.browser.fromPixels(imageElement)\n    .resizeNearestNeighbor([224, 224])\n    .toFloat()\n    .expandDims();\n\n  // Vorhersage erhalten\n  const prediction = model.predict(tensor) as tf.Tensor;\n  const topK = tf.topk(prediction, 3);\n  const indices = await topK.indices.data();\n  const values = await topK.values.data();\n\n  console.log('Top-3-Vorhersagen:', indices, values);\n}\n\n// Verwendung\nconst img = document.getElementById('myImage') as HTMLImageElement;\nclassifyImage(img);
\n\n

TensorFlow.js ist ideal für Aufgaben des maschinellen Sehens, der Textverarbeitung (NLP) und von Zeitreihen. In TypeScript erhalten Sie eine automatische Vervollständigung für alle Methoden, was die Entwicklung erheblich beschleunigt.

\n\n

2. ML5.js – eine benutzerfreundliche Oberfläche für kreatives ML

\n\n

ML5.js baut auf TensorFlow.js auf, bietet aber eine einfachere und höherwertige API. Diese Bibliothek richtet sich an Künstler, Designer und Entwickler, die schnell ML-Funktionalität hinzufügen möchten, ohne tief in die Mathematik einzutauchen. ML5.js unterstützt Aufgaben wie Bildklassifizierung, Objekterkennung, Textgenerierung, Audioanalyse und vieles mehr.

\n\n

Installation:

\n
npm install ml5
\n\n

Beispiel: Objekterkennung mit COCO-SSD

\n
import ml5 from 'ml5';\n\nasync function detectObjects(videoElement: HTMLVideoElement) {\n  // Laden des Objekterkennungsmodells\n  const objectDetector = await ml5.objectDetector('cocossd');\n\n  // Durchführen der Erkennung am Video\n  const results = await objectDetector.detect(videoElement);\n\n  results.forEach((obj: any) => {\n    console.log(`Objekt: ${obj.label}, Konfidenz: ${obj.confidence.toFixed(2)}`);\n    console.log(`Koordinaten: x=${obj.x}, y=${obj.y}, Breite=${obj.width}, Höhe=${obj.height}`);\n  });\n}\n\n// Verwendung mit der Webcam\nconst video = document.getElementById('webcam') as HTMLVideoElement;\nnavigator.mediaDevices.getUserMedia({ video: true })\n  .then(stream => { video.srcObject = stream; })\n  .then(() => detectObjects(video));
\n\n

ML5.js eignet sich hervorragend für das Prototyping, Bildungsprojekte und interaktive Installationen. In TypeScript können Sie Typen für die Erkennungsergebnisse definieren, was die

Empfehlungen