Aprendizado de Máquina: bibliotecas TypeScript para navegador e Node.js

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Aprendizado de Máquina em TypeScript: visão geral das principais bibliotecas



TypeScript — uma extensão estaticamente tipada sobre JavaScript — está sendo cada vez mais usado em projetos relacionados a aprendizado de máquina (ML). Graças à tipagem estrita, melhor legibilidade do código e excelente suporte de IDE, o TypeScript permite criar aplicações ML robustas que funcionam tanto no navegador quanto no servidor (Node.js). Neste artigo, veremos as principais bibliotecas para aprendizado de máquina em TypeScript, seus recursos e daremos exemplos práticos.



1. TensorFlow.js — o carro-chefe do aprendizado de máquina em TypeScript



TensorFlow.js é uma porta do popular framework TensorFlow para JavaScript e TypeScript. Ele permite executar modelos de aprendizado de máquina diretamente no navegador ou no Node.js sem infraestrutura de servidor. A biblioteca suporta todas as etapas principais do ML: carregamento de modelos pré-treinados, treinamento de novos modelos, inferência (predição) e até ajuste fino (fine-tuning).



Instalação:

npm install @tensorflow/tfjsnpm install @tensorflow/tfjs-node  # para Node.js (com aceleração)


Exemplo: classificação de imagens com o modelo pré-treinado MobileNet

import * as tf from '@tensorflow/tfjs';import { loadGraphModel } from '@tensorflow/tfjs-converter';

async function classifyImage(imageElement: HTMLImageElement) { // Carregamos o modelo pré-treinado MobileNet const model = await loadGraphModel( 'https://tfhub.dev/google/tfjs-model/imagenet/mobilenet_v2_100_224/classification/3/default/1' );

// Convertemos a imagem em um tensor const tensor = tf.browser.fromPixels(imageElement) .resizeNearestNeighbor([224, 224]) .toFloat() .expandDims();

// Obtemos a predição const prediction = model.predict(tensor) as tf.Tensor; const topK = tf.topk(prediction, 3); const indices = await topK.indices.data(); const values = await topK.values.data();

console.log('Top-3 predições:', indices, values);}

// Usoconst img = document.getElementById('myImage') as HTMLImageElement;classifyImage(img);


TensorFlow.js é ideal para tarefas de visão computacional, processamento de texto (NLP) e séries temporais. Em TypeScript, você obtém autocompletar para todos os métodos, o que acelera significativamente o desenvolvimento.



2. ML5.js — uma interface amigável para ML criativo



ML5.js é construído sobre o TensorFlow.js, mas oferece uma API mais simples e de alto nível. Esta biblioteca é voltada para artistas, designers e desenvolvedores que desejam adicionar funcionalidades de ML rapidamente sem se aprofundar na matemática. ML5.js suporta tarefas como classificação de imagens, detecção de objetos, geração de texto, análise de som e muito mais.



Instalação:

npm install ml5


Exemplo: detecção de objetos com COCO-SSD

import ml5 from 'ml5';

async function detectObjects(videoElement: HTMLVideoElement) { // Carregamos o modelo de detecção de objetos const objectDetector = await ml5.objectDetector('cocossd');

// Executamos a detecção no vídeo const results = await objectDetector.detect(videoElement);

results.forEach((obj: any) => { console.log(`Objeto: ${obj.label}, confiança: ${obj.confidence.toFixed(2)}`); console.log(`Coordenadas: x=${obj.x}, y=${obj.y}, largura=${obj.width}, altura=${obj.height}`); });}

// Uso com webcamconst video = document.getElementById('webcam') as HTMLVideoElement;navigator.mediaDevices.getUserMedia({ video: true }) .then(stream => { video.srcObject = stream; }) .then(() => detectObjects(video));


ML5.js é excelente para prototipagem, projetos educacionais e instalações interativas. Em TypeScript, você pode definir tipos para os resultados da detecção, o que torna

Recommendations