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