🧪 De nouveaux tutoriels arrivent — du bras robotique au capteur
Aller au contenu

Étape 7 : Commande d'entraînement ACT ​

Avant de commencer ​

  • Environnement : il faut d'abord installer l'environnement et transférer le dataset sur le cloud GPU en suivant Configuration de l'environnement d'entraînement sur cloud GPU. ACT est fourni d'origine avec l'environnement de base de LeRobot, aucune installation supplémentaire n'est nécessaire
  • Dataset : le --dataset.root=~/lerobot_my_dataset_shake_hands de la commande pointe vers le dataset de poignée de main collecté à la sixième étape. Si vous entraînez votre propre tâche, remplacez-le par le nom de votre propre dataset
  • Répertoire de sortie : si --output_dir existe déjà, une erreur FileExistsError sera directement signalée ; changez de nom de répertoire, ou ajoutez --resume=true pour poursuivre l'entraînement
  • Vous pouvez consulter les courbes sur wandb à tout moment pendant l'entraînement, voir Consulter les courbes d'entraînement en temps réel avec wandb

Documentation de référence ​

https://github.com/huggingface/lerobot/blob/46e19ae579f80ce66211afafd1c3c649c569131f/docs/source/act.mdx

https://github.com/huggingface/lerobot/blob/main/src/lerobot/scripts/lerobot_train.py

https://github.com/huggingface/lerobot/blob/main/src/lerobot/configs/train.py

Pourquoi commencer par l'algorithme ACT ​

ACT est le premier modèle le plus recommandé à entraîner pour débuter avec LeRobot ; voici ses avantages :

  • Le modèle est très léger, avec seulement quatre-vingts millions de paramètres apprenables

  • La convergence de l'entraînement est très rapide, et l'inférence l'est aussi

  • Une heure d'entraînement sur un seul GPU suffit pour voir des résultats

  • Le modèle ACT lui-même est très petit, l'archive fait environ 200 Mo, ce qui le rend très facile à stocker et à transférer. L'archive du modèle produit par l'entraînement fait environ 300 Mo (voir la fin de cet article)

  • Collecter environ 30 épisodes de données suffit généralement

  • Peut être déployé et exécuté en inférence sur un hôte Ubuntu, un ordinateur Mac, un ordinateur Windows, et même un Raspberry Pi

  • Les résultats d'inférence sur un robot réel sont plutôt bons, amplement suffisants pour des tâches simples comme saisir, serrer la main ou poser un stylo

  • L'environnement de base de la bibliothèque LeRobot inclut déjà l'algorithme ACT, aucune autre bibliothèque n'est à installer

Ligne de commande ​

Shell
lerobot-train \
  --dataset.repo_id=<nom-utilisateur>/lerobot_my_dataset_shake_hands \
  --dataset.root=~/lerobot_my_dataset_shake_hands \
  --dataset.revision=v0.1.0 \
  --dataset.streaming=false \
  --policy.type=act \
  --output_dir=~/output_lerobot_train/shake/act/ \
  --job_name=shake_act_a \
  --policy.device=cuda \
  --wandb.enable=true \
  --wandb.project=Lerobot_my_Project \
  --policy.push_to_hub=false \
  --steps=20000 \
  --batch_size=8

Description de la ligne de commande ​

Le caractère de continuation `` ne peut être précédé que d'un seul espace et ne doit être suivi d'aucun espace

Paramètre de ligne de commandeDescription
--dataset.repo_idRepo_ID du dataset HuggingFace, de la forme nom_utilisateur/nom_dataset
--dataset.rootChemin local du dataset. Lorsque le dataset a déjà été téléchargé en local, il faut pointer vers le répertoire réel
--dataset.revisionVersion du dataset, spécifiée lors du téléversement du dataset sur HuggingFace
--dataset.streamingIndique si la lecture se fait en flux. Lorsque le dataset est en local, il faut la définir à false, car la lecture en flux n'est pas nécessaire
--policy.typeAlgorithme à entraîner, par exemple act, smolvla, diffusion, pi0, pi05, pi0_fast, wall_x
--output_dirRépertoire où sont enregistrées les sorties de l'entraînement
--job_nameNom de cette tâche d'entraînement
--policy.devicePériphérique de calcul
--wandb.enableActive la visualisation wandb
--wandb.projectNom du projet wandb
--policy.push_to_hubEnvoie le modèle entraîné vers le cloud HuggingFace
--stepsNombre de steps d'entraînement
--batch_sizeQuantité de données entrée par step ; si la VRAM est insuffisante, il faut la réduire

Processus d'entraînement ​

image.png

image.png

image.png

L'archive du modèle fait environ 300 Mo