Apprentissage automatique : bibliothèques TypeScript pour navigateur et Node.js

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Apprentissage automatique en TypeScript : aperçu des bibliothèques clés

\n\n

TypeScript — une surcouche à typage statique de JavaScript — est de plus en plus utilisé dans les projets liés à l'apprentissage automatique (ML). Grâce à son typage strict, une meilleure lisibilité du code et un excellent support des IDE, TypeScript permet de créer des applications ML fiables, fonctionnant à la fois dans le navigateur et sur le serveur (Node.js). Dans cet article, nous examinerons les principales bibliothèques d'apprentissage automatique en TypeScript, leurs fonctionnalités et fournirons des exemples pratiques.

\n\n

1. TensorFlow.js — le fleuron de l'apprentissage automatique en TypeScript

\n\n

TensorFlow.js est un portage du célèbre framework TensorFlow pour JavaScript et TypeScript. Il permet d'exécuter des modèles d'apprentissage automatique directement dans le navigateur ou sur Node.js sans infrastructure serveur. La bibliothèque prend en charge toutes les étapes principales du ML : chargement de modèles pré-entraînés, entraînement de nouveaux modèles, inférence (prédiction) et même réglage fin (fine-tuning).

\n\n

Installation :

\n
npm install @tensorflow/tfjs\nnpm install @tensorflow/tfjs-node  # pour Node.js (avec accélération)
\n\n

Exemple : classification d'images avec le modèle pré-entraîné MobileNet

\n
import * as tf from '@tensorflow/tfjs';\nimport { loadGraphModel } from '@tensorflow/tfjs-converter';\n\nasync function classifyImage(imageElement: HTMLImageElement) {\n  // Chargement du modèle pré-entraîné MobileNet\n  const model = await loadGraphModel(\n    'https://tfhub.dev/google/tfjs-model/imagenet/mobilenet_v2_100_224/classification/3/default/1'\n  );\n\n  // Conversion de l'image en tenseur\n  const tensor = tf.browser.fromPixels(imageElement)\n    .resizeNearestNeighbor([224, 224])\n    .toFloat()\n    .expandDims();\n\n  // Obtention de la prédiction\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 prédictions :', indices, values);\n}\n\n// Utilisation\nconst img = document.getElementById('myImage') as HTMLImageElement;\nclassifyImage(img);
\n\n

TensorFlow.js est idéal pour les tâches de vision par ordinateur, de traitement du texte (NLP) et de séries temporelles. En TypeScript, vous bénéficiez de l'autocomplétion pour toutes les méthodes, ce qui accélère considérablement le développement.

\n\n

2. ML5.js — une interface conviviale pour le ML créatif

\n\n

ML5.js est construit au-dessus de TensorFlow.js, mais propose une API plus simple et de plus haut niveau. Cette bibliothèque est destinée aux artistes, designers et développeurs qui souhaitent ajouter rapidement des fonctionnalités ML sans plonger profondément dans les mathématiques. ML5.js prend en charge des tâches telles que la classification d'images, la détection d'objets, la génération de texte, l'analyse audio et bien plus encore.

\n\n

Installation :

\n
npm install ml5
\n\n

Exemple : détection d'objets avec COCO-SSD

\n
import ml5 from 'ml5';\n\nasync function detectObjects(videoElement: HTMLVideoElement) {\n  // Chargement du modèle de détection d'objets\n  const objectDetector = await ml5.objectDetector('cocossd');\n\n  // Exécution de la détection sur la vidéo\n  const results = await objectDetector.detect(videoElement);\n\n  results.forEach((obj: any) => {\n    console.log(`Objet : ${obj.label}, confiance : ${obj.confidence.toFixed(2)}`);\n    console.log(`Coordonnées : x=${obj.x}, y=${obj.y}, largeur=${obj.width}, hauteur=${obj.height}`);\n  });\n}\n\n// Utilisation avec la 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 est parfait pour le prototypage, les projets éducatifs et les installations interactives. En TypeScript, vous pouvez définir des types pour les résultats de détection, ce qui rend

Recommendations