mindrally/machine-learning

Développement d'apprentissage automatique avec JAX, schémas de programmation fonctionnelle et calcul haute performance.

Qu'est-ce que machine-learning ?

Ce skill permet aux assistants IA comme Claude Code d'effectuer des tâches avancées de développement en apprentissage automatique en utilisant JAX, des schémas de programmation fonctionnelle et des techniques de calcul haute performance. Il est conçu pour les développeurs et ingénieurs en IA qui travaillent sur des modèles complexes nécessitant une exécution efficace sur GPU/TPU. Le skill se concentre sur l'exploitation de la transformation de fonctions et de l'exécution accélérée par JAX, tout en promouvant des approches de programmation fonctionnelle pures pour améliorer la fiabilité et la reproductibilité. Il prend en charge les plateformes d'agents IA telles que Claude Code, Cursor et Codex, en fournissant des directives structurées sur la gestion des états, l'optimisation des gradients et l'implémentation d'architectures de réseaux neuronaux modulaires avec une utilisation minimale de code impératif.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mindrally/skills/tree/main/skills/machine-learning

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait machine-learning ?

Développement d'apprentissage automatique avec JAX, schémas de programmation fonctionnelle et calcul haute performance.

Aperçu

Ce skill guide les agents IA dans le développement de solutions d'apprentissage automatique efficaces en utilisant JAX, en mettant l'accent sur la programmation fonctionnelle et le calcul haute performance. Il aide les modèles à comprendre les structures de code existantes et à adhérer aux meilleures pratiques pour l'apprentissage profond, la différentiation automatique et la compilation JIT.

Utilisation

Lorsque vous travaillez sur des tâches connexes, le skill est activé automatiquement. Utilisez les directives suivantes :

  1. Utiliser JAX : Privilégier JAX pour la différentiation automatique, la compilation JIT et l'accélération GPU/TPU.
  2. Programmation fonctionnelle : Maintenir des fonctions pures, utiliser des transformations et éviter les effets de bord.
  3. Calcul haute performance : Optimiser pour l'efficacité mémoire et la vitesse de calcul.

Directives d'implémentation

Gestion des états

  • Utiliser flax.struct ou optax pour la gestion des états.
  • Éviter les variables globales ; passer les paramètres explicitement.

Optimisation des gradients

import jax
import jax.numpy as jnp

def compute_gradients(params, x, y, model_fn):
    def loss_fn(p):
        return jnp.mean((model_fn(p, x) - y) ** 2)
    return jax.grad(loss_fn)(params)

Compilation JIT

import jax

def update_step(params, x, y, model_fn, learning_rate):
    grads = compute_gradients(params, x, y, model_fn)
    return params - learning_rate * grads

# JIT compile pour performance
update_step_jit = jax.jit(update_step)

Exemple d'architecture modulaire

import jax.numpy as jnp
import flax.linen as nn

class MLP(nn.Module):
    hidden_dims: list = [512, 256]
    num_classes: int = 10

    @nn.compact
    def __call__(self, x):
        x = x.reshape((x.shape[0], -1))  # aplatir
        for dim in self.hidden_dims:
            x = nn.Dense(dim)(x)
            x = nn.relu(x)
        x = nn.Dense(self.num_classes)(x)
        return x

Bonnes pratiques

  • Utiliser jax.random.PRNGKey pour la génération de nombres aléatoires.
  • Mettre en cache les opérations coûteuses avec jax.lax.map et jax.lax.scan.
  • Préférer jax.grad pour les dérivées et jax.hessian pour les Hessiennes.
  • Assurer la reproductibilité en définissant des clés aléatoires et des lots déterministes.

Dépannage

  • Si des problèmes de mémoire surviennent, envisager d'utiliser jax.lax.reduce ou jax.lax.fori_loop pour l'évaluation par lots.
  • Pour des séquences longues, utiliser des transformations jax.lax.scan au lieu de boucles Python.

Références

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

mindrally/accessibility-a11y

Implement web accessibility (a11y) best practices following WCAG guidelines to create inclusive, accessible user interfaces.

mindrally/chrome-extension-development

Expert guidelines for Chrome extension development with Manifest V3, covering security, performance, and best practices. Use when building browser extensions, creating popup UIs, implementing content scripts, working with Chrome APIs, managing extension permissions, or publishing to Chrome Web Store.

mindrally/computer-vision-opencv

Expert guidance for computer vision development using OpenCV, PyTorch, and modern deep learning techniques for image and video processing.

mindrally/data-analysis-jupyter

Expert guidance for data analysis, visualization, and Jupyter Notebook development with pandas, matplotlib, seaborn, and numpy.

mindrally/deep-learning-pytorch

Expert guidance for deep learning, transformers, diffusion models, and LLM development with PyTorch, Transformers, Diffusers, and Gradio.

mindrally/expo-react-native-typescript

Expert in Expo React Native TypeScript mobile development with best practices

mindrally/fastapi-python

Expert in FastAPI Python development with best practices for APIs and async operations

mindrally/framer-motion

Expert guidelines for building performant animations with Framer Motion/Motion library in React applications

mindrally/htmx

HTMX development guidelines for building dynamic web applications with minimal JavaScript using HTML attributes.

mindrally/jwt-security

Guidelines for implementing JWT authentication with security best practices for token creation, validation, and storage

mindrally/mysql-best-practices

MySQL development best practices for schema design, query optimization, and database administration

mindrally/nextjs-react-typescript

Expert in TypeScript, Node.js, Next.js App Router, React, Shadcn UI, Radix UI and Tailwind

mindrally/nextjs-typescript-tailwindcss-supabase

Full-stack Next.js 14 development with TypeScript, TailwindCSS, and Supabase for building production-ready web applications.

mindrally/odoo-development

Expert guidance for Odoo ERP development including Python ORM, XML views, and module architecture

mindrally/puppeteer-automation

Expert guidance for browser automation using Puppeteer with best practices for web scraping, testing, screenshot capture, and JavaScript execution in headless Chrome.

mindrally/redis-best-practices

Redis development best practices for caching, data structures, and high-performance key-value operations

mindrally/scrapy-web-scraping

Expert guidance for building web scrapers and crawlers using the Scrapy Python framework with best practices for spider development, data extraction, and pipeline management.

mindrally/scss-best-practices

SCSS/Sassy CSS best practices and coding guidelines for maintainable, scalable stylesheets

mindrally/typeorm

Guidelines for developing with TypeORM, a full-featured ORM for TypeScript and JavaScript supporting multiple databases

mindrally/web-scraping

Expert in web scraping and data extraction with Python tools

Skills associés