Natural Language Instructions in the Action Chunking Transformer for Multi-Task Robotic Manipulation
1.3K
For more details on this project visit the nl-act Github repo or read the paper.
This Docker image provides a reproducible environment for training and evaluating the Action Chunking Transformer (ACT) model, extended to support multi-task robotic manipulation based on natural language instructions. The container is designed to simplify setup and streamline experimentation by pre-loading all necessary dependencies, scripts, and datasets.
Key features include:
This image is particularly useful for running on GPU-enabled cloud services like RunPod or on local GPU-equipped systems.
Pull the Docker Image:
docker pull krohling/nl-act
Run the Container: Example command to train the ACT model with GPU support:
docker run -it \
--gpus all \
-v $(pwd)/output:/opt/ml/output \
-e WANDB_PROJECT="your_wandb_project" \
-e WANDB_ENTITY="your_wandb_entity" \
-e WANDB_API_KEY="your_wandb_api_key" \
krohling/nl-act
Replace your_wandb_project, your_wandb_entity, and your_wandb_api_key with your Weights & Biases credentials if you want to log training metrics.
Below is a list of customizable environment variables to control training, evaluation, and dataset paths. While the container will run with default settings, you can adjust these to suit your environment and hardware. It is strongly recommended that you modify the batch size to fit your GPU.
| Variable | Default | Description |
|---|---|---|
LR | 1e-5 | Learning rate. |
BATCH_SIZE | 1 | Batch size used for training and validation. |
NUM_EPOCHS | 30000 | Number of training epochs. |
DATASET_DIR | ./dataset | Path to the directory containing the training dataset. |
TRAIN_INSTR_PATH | ./data/instruction_embeddings.train.csv | CSV file with training instruction embeddings. |
VAL_INSTR_PATH | ./data/instruction_embeddings.val.csv | CSV file with validation instruction embeddings. |
CKPT_DIR | ./output/checkpoints | Directory to save model checkpoints. |
CKPT_FREQUENCY | 2500 | Save model checkpoints every N epochs. |
EVAL | False | Enable evaluation during training. |
EVAL_INSTR_PATH | ./data/instruction_embeddings.val.csv | CSV file for evaluation instruction embeddings. |
EVAL_FREQUENCY | 2500 | Evaluate the model every N epochs (if --eval is true). |
NUM_ROLLOUTS | 10 | Number of rollouts for evaluation. |
VIDEOS_DIR | ./output/videos | Directory to store evaluation videos. |
ONSCREEN_RENDER | False | Enable rendering of the environment during evaluation. |
HIDDEN_DIM | 512 | Hidden dimension size in the transformer. |
STATE_DIM | 14 | Dimensionality of the robot state representation. |
ENC_LAYERS | 4 | Number of transformer encoder layers. |
This project uses two pre-generated datasets, hosted on Hugging Face, for training and evaluation. Each dataset includes 150 multi-task episodes (grasp, stack, transfer) in .hdf5 format along with corresponding instruction embeddings.
Contains 150 episodes (50 per task) without noise injection. Total size: ~75GB.
Same tasks, but includes trajectory noise injection. Total size: ~75GB.
The container will automatically download these datasets.
Content type
Image
Digest
sha256:3092fa044…
Size
4.6 GB
Last updated
almost 2 years ago
docker pull krohling/nl-act