Machine Learning

Inférence et entraînement de modèles via les bibliothèques Python ML. Catnip charge les données, construit les batchs ou les scénarios d'entraînement, puis post-traite les résultats ; les poids et le calcul restent côté torch ou scikit-learn.

Pourquoi cette catégorie

Les écosystèmes PyTorch et scikit-learn fournissent modèles, poids, kernels et algorithmes d'entraînement. Catnip importe ces bibliothèques, appelle leurs objets, et orchestre le pré/post-traitement. Quand le modèle tient en une forme close (l'hétéro-associateur linéaire se résume à des produits matriciels), Catnip exprime l'apprentissage et le rappel directement ; numpy reste le moteur de calcul.

Le broadcasting Catnip (.[op]) sert à construire un batch ou à appliquer un même scénario d'évaluation à plusieurs modèles avec le même idiome que sur une liste Python ordinaire.

Exemples

Fichier Module Description
torch_single_inference.cat torch, torchvision Classification d'une image (ResNet18), top-5 ImageNet
torch_batched_inference.cat torch, torchvision Batch de variantes d'image, une seule passe vectorisée
torch_device_fallback_benchmark.cat torch Fallback CUDA→CPU + benchmark de latence synchronisé
sklearn_model_bakeoff.cat scikit-learn Load Wine, train/test split, bake-off de classifieurs
linear_associator.cat numpy Mémoire associative de Hebb : rappel, bruit, crosstalk

Les exemples torch tournent sur GPU si CUDA est disponible, sinon sur CPU. L'exemple scikit-learn utilise le dataset intégré Wine et ne requiert pas de réseau. L'hétéro-associateur ne dépend que de numpy et tire ses données d'un générateur à graine fixe (résultats reproductibles).

Données

  • data/catnip_test.jpg - Image de test pour la classification

Exécution

catnip codex/machine-learning/torch_single_inference.cat
catnip codex/machine-learning/torch_batched_inference.cat
catnip codex/machine-learning/torch_device_fallback_benchmark.cat
catnip codex/machine-learning/sklearn_model_bakeoff.cat
catnip codex/machine-learning/linear_associator.cat