🧪 Novos tutoriais em andamento — do braço robótico ao sensor
Ir para o conteúdo
Compre este produtoLoja oficialSite oficial

Etapa 7: Comando de treinamento — ACT ​

Antes de executar ​

  • Ambiente: primeiro é preciso instalar o ambiente e enviar o dataset para a GPU na nuvem conforme Configuração do ambiente de treinamento em GPU na nuvem. O ACT já vem com o ambiente básico do LeRobot, sem necessidade de instalação adicional
  • Dataset: o --dataset.root=~/lerobot_my_dataset_shake_hands do comando aponta para o dataset de aperto de mão coletado na etapa 6. Se você estiver treinando uma tarefa própria, substitua pelo nome do seu próprio dataset
  • Diretório de saída: se o --output_dir já existir, será exibido diretamente um FileExistsError; troque por um novo nome de diretório, ou adicione --resume=true para continuar o treinamento
  • Durante o treinamento, você pode acompanhar as curvas no wandb a qualquer momento; consulte Visualizar as curvas de treinamento em tempo real com o wandb

Documentação de referência ​

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

Por que começar pelo algoritmo ACT ​

O ACT é o primeiro modelo mais recomendado para treinar no LeRobot; suas vantagens são as seguintes:

  • O modelo é muito leve, com apenas oitenta milhões de parâmetros treináveis

  • A convergência do treinamento é muito rápida, e a inferência também é rápida

  • Em uma única GPU, uma hora de treinamento já mostra resultados

  • O modelo ACT em si é pequeno, com um pacote compactado de cerca de 200MB, muito fácil de armazenar e transportar. O pacote compactado do modelo gerado pelo treinamento tem cerca de 300MB (veja no final deste artigo)

  • Coletar 30 episódios de dados no dataset já é basicamente suficiente

  • Pode ser implantado para inferência em um computador Ubuntu, Mac, Windows e até em um Raspberry Pi

  • O resultado da inferência no robô real é bastante bom, suficiente para tarefas simples como pegar objetos, apertar mãos e colocar canetas

  • O algoritmo ACT já vem no ambiente básico da biblioteca LeRobot, sem necessidade de instalar outras bibliotecas

Linha de comando ​

Shell
lerobot-train \
  --dataset.repo_id=<usuario>/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

Descrição da linha de comando ​

Antes do caractere de quebra de linha `` só pode haver um espaço, e depois dele não pode haver espaço

Parâmetro da linha de comandoDescrição
--dataset.repo_idO Repo_ID do dataset no HuggingFace, no formato nome de usuário/nome do dataset
--dataset.rootCaminho local do dataset. Quando o dataset já foi baixado para o local, deve apontar para o diretório real
--dataset.revisionVersão do dataset, especificada no momento de enviar o dataset para o HuggingFace
--dataset.streamingDefine se a leitura é em streaming. Quando o dataset está local, defina como false, pois não é necessária leitura em streaming
--policy.typeO algoritmo a ser treinado, como act, smolvla, diffusion, pi0, pi05, pi0_fast, wall_x
--output_dirDiretório onde a saída do treinamento é salva
--job_nameO nome desta tarefa de treinamento
--policy.deviceDispositivo de computação
--wandb.enableAtiva a visualização do wandb
--wandb.projectNome do projeto no wandb
--policy.push_to_hubEnvia o modelo treinado para a nuvem do HuggingFace
--stepsNúmero de passos de treinamento
--batch_sizeQuantidade de dados de entrada por passo; se a VRAM não for suficiente, deve ser reduzida

Processo de treinamento ​

image.png

image.png

image.png

O pacote compactado do modelo tem cerca de 300MB