From 0167612d5e2f4a77f81b52ce838cffdae6f9f1a5 Mon Sep 17 00:00:00 2001 From: Dana Aubakirova <118912928+danaaubakirova@users.noreply.github.com> Date: Fri, 13 Jun 2025 17:48:12 +0200 Subject: [PATCH 01/27] add smolvla to model-libraries.ts --- packages/tasks/src/model-libraries.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/tasks/src/model-libraries.ts b/packages/tasks/src/model-libraries.ts index 867b0a0f8f..2364ccc75d 100644 --- a/packages/tasks/src/model-libraries.ts +++ b/packages/tasks/src/model-libraries.ts @@ -1103,6 +1103,13 @@ export const MODEL_LIBRARIES_UI_ELEMENTS = { countDownloads: `path:"model_vae_fp16.pt"`, snippets: snippets.threedtopia_xl, }, + "smolvla": { + prettyLabel: "SmolVLA", + repoName: "lerobot", + repoUrl: "https://github.com/huggingface/lerobot/blob/main/lerobot/common/policies/smolvla", + docsUrl: "https://huggingface.co/docs/lerobot/smolvla", + filter: false, + }, } satisfies Record; export type ModelLibraryKey = keyof typeof MODEL_LIBRARIES_UI_ELEMENTS; From 2343feeab4838e881fc1a72e5e19dd66abdd7644 Mon Sep 17 00:00:00 2001 From: Dana Aubakirova <118912928+danaaubakirova@users.noreply.github.com> Date: Fri, 13 Jun 2025 18:01:33 +0200 Subject: [PATCH 02/27] remove quotes --- packages/tasks/src/model-libraries.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tasks/src/model-libraries.ts b/packages/tasks/src/model-libraries.ts index 2364ccc75d..60720aee6b 100644 --- a/packages/tasks/src/model-libraries.ts +++ b/packages/tasks/src/model-libraries.ts @@ -1103,7 +1103,7 @@ export const MODEL_LIBRARIES_UI_ELEMENTS = { countDownloads: `path:"model_vae_fp16.pt"`, snippets: snippets.threedtopia_xl, }, - "smolvla": { + smolvla: { prettyLabel: "SmolVLA", repoName: "lerobot", repoUrl: "https://github.com/huggingface/lerobot/blob/main/lerobot/common/policies/smolvla", From 39d5f504506780b24ca9f217af308e31d18ff58f Mon Sep 17 00:00:00 2001 From: Dana Aubakirova <118912928+danaaubakirova@users.noreply.github.com> Date: Sat, 14 Jun 2025 11:56:11 +0200 Subject: [PATCH 03/27] update model-libraries-snippets.ts adding smolvla --- .../tasks/src/model-libraries-snippets.ts | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/packages/tasks/src/model-libraries-snippets.ts b/packages/tasks/src/model-libraries-snippets.ts index d180658810..5cbfca347c 100644 --- a/packages/tasks/src/model-libraries-snippets.ts +++ b/packages/tasks/src/model-libraries-snippets.ts @@ -1637,4 +1637,30 @@ audio = model.autoencoder.decode(codes)[0].cpu() torchaudio.save("sample.wav", audio, model.autoencoder.sampling_rate) `, ]; + +export const smolvla = (model: ModelData): string[] => [ +`# Clone the LeRobot repository and create the environment +git clone https://github.com/huggingface/lerobot.git +cd lerobot +conda create -y -n lerobot python=3.10 +conda activate lerobot + +# Install ffmpeg (required for video processing) +conda install ffmpeg=7.1.1 -c conda-forge + +# Install LeRobot with the SmolVLA extra dependencies +pip install -e ".[smolvla]" + +# Launch finetuning on your dataset +cd lerobot && python lerobot/scripts/train.py \\ + --policy.path=lerobot/smolvla_base \\ + --dataset.repo_id=${model.id} \\ + --batch_size=64 \\ + --steps=20000 \\ + --output_dir=outputs/train/my_smolvla \\ + --job_name=my_smolvla_training \\ + --policy.device=cuda \\ + --wandb.enable=true`, +]; + //#endregion From bab97707729714009c195e04b1e10e3e88aa5ed5 Mon Sep 17 00:00:00 2001 From: Dana Aubakirova <118912928+danaaubakirova@users.noreply.github.com> Date: Sat, 14 Jun 2025 11:57:24 +0200 Subject: [PATCH 04/27] update model-libraries.ts --- packages/tasks/src/model-libraries.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/tasks/src/model-libraries.ts b/packages/tasks/src/model-libraries.ts index 60720aee6b..91d75b171d 100644 --- a/packages/tasks/src/model-libraries.ts +++ b/packages/tasks/src/model-libraries.ts @@ -1109,6 +1109,7 @@ export const MODEL_LIBRARIES_UI_ELEMENTS = { repoUrl: "https://github.com/huggingface/lerobot/blob/main/lerobot/common/policies/smolvla", docsUrl: "https://huggingface.co/docs/lerobot/smolvla", filter: false, + snippets: snippets.smolvla, }, } satisfies Record; From 85e2ce14d87af78a671fe8974df5047bd159f6fd Mon Sep 17 00:00:00 2001 From: Dana Aubakirova <118912928+danaaubakirova@users.noreply.github.com> Date: Sat, 14 Jun 2025 12:17:08 +0200 Subject: [PATCH 05/27] Update model-libraries-snippets.ts --- packages/tasks/src/model-libraries-snippets.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tasks/src/model-libraries-snippets.ts b/packages/tasks/src/model-libraries-snippets.ts index 5cbfca347c..f0d3b3d474 100644 --- a/packages/tasks/src/model-libraries-snippets.ts +++ b/packages/tasks/src/model-libraries-snippets.ts @@ -1649,7 +1649,7 @@ conda activate lerobot conda install ffmpeg=7.1.1 -c conda-forge # Install LeRobot with the SmolVLA extra dependencies -pip install -e ".[smolvla]" +pip install -e ".[${model.id}]" # Launch finetuning on your dataset cd lerobot && python lerobot/scripts/train.py \\ From 00b8578afe598607a661bce611715d5a4dd5464b Mon Sep 17 00:00:00 2001 From: Dana Aubakirova <118912928+danaaubakirova@users.noreply.github.com> Date: Sat, 14 Jun 2025 12:29:17 +0200 Subject: [PATCH 06/27] Update model-libraries-snippets.ts --- packages/tasks/src/model-libraries-snippets.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/tasks/src/model-libraries-snippets.ts b/packages/tasks/src/model-libraries-snippets.ts index f0d3b3d474..a8d86178fa 100644 --- a/packages/tasks/src/model-libraries-snippets.ts +++ b/packages/tasks/src/model-libraries-snippets.ts @@ -1638,8 +1638,8 @@ torchaudio.save("sample.wav", audio, model.autoencoder.sampling_rate) `, ]; -export const smolvla = (model: ModelData): string[] => [ -`# Clone the LeRobot repository and create the environment +export const smolvla = (): string[] => [ + `# Clone the LeRobot repository and create the environment git clone https://github.com/huggingface/lerobot.git cd lerobot conda create -y -n lerobot python=3.10 @@ -1649,12 +1649,12 @@ conda activate lerobot conda install ffmpeg=7.1.1 -c conda-forge # Install LeRobot with the SmolVLA extra dependencies -pip install -e ".[${model.id}]" +pip install -e ".[smolvla]" # Launch finetuning on your dataset cd lerobot && python lerobot/scripts/train.py \\ --policy.path=lerobot/smolvla_base \\ - --dataset.repo_id=${model.id} \\ + --dataset.repo_id=lerobot/svla_so101_pickplace \\ --batch_size=64 \\ --steps=20000 \\ --output_dir=outputs/train/my_smolvla \\ From ebe79104d57e33985907021afeeb84a2605be931 Mon Sep 17 00:00:00 2001 From: Dana Aubakirova <118912928+danaaubakirova@users.noreply.github.com> Date: Sat, 14 Jun 2025 12:36:20 +0200 Subject: [PATCH 07/27] Update model-libraries-snippets.ts --- packages/tasks/src/model-libraries-snippets.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/tasks/src/model-libraries-snippets.ts b/packages/tasks/src/model-libraries-snippets.ts index a8d86178fa..cb3b38eb7d 100644 --- a/packages/tasks/src/model-libraries-snippets.ts +++ b/packages/tasks/src/model-libraries-snippets.ts @@ -1639,8 +1639,7 @@ torchaudio.save("sample.wav", audio, model.autoencoder.sampling_rate) ]; export const smolvla = (): string[] => [ - `# Clone the LeRobot repository and create the environment -git clone https://github.com/huggingface/lerobot.git + `# git clone https://github.com/huggingface/lerobot.git cd lerobot conda create -y -n lerobot python=3.10 conda activate lerobot From 0f9d5926dcb18d6edb62b2d02a57d51762e0c0ea Mon Sep 17 00:00:00 2001 From: Dana Aubakirova <118912928+danaaubakirova@users.noreply.github.com> Date: Sat, 14 Jun 2025 12:49:42 +0200 Subject: [PATCH 08/27] Update model-libraries.ts --- packages/tasks/src/model-libraries.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tasks/src/model-libraries.ts b/packages/tasks/src/model-libraries.ts index 91d75b171d..0aad5cadac 100644 --- a/packages/tasks/src/model-libraries.ts +++ b/packages/tasks/src/model-libraries.ts @@ -1105,7 +1105,7 @@ export const MODEL_LIBRARIES_UI_ELEMENTS = { }, smolvla: { prettyLabel: "SmolVLA", - repoName: "lerobot", + repoName: "🤗/lerobot", repoUrl: "https://github.com/huggingface/lerobot/blob/main/lerobot/common/policies/smolvla", docsUrl: "https://huggingface.co/docs/lerobot/smolvla", filter: false, From 75517d15e15d84260e247f1f9c5d758dda13fae8 Mon Sep 17 00:00:00 2001 From: Dana Aubakirova <118912928+danaaubakirova@users.noreply.github.com> Date: Sat, 14 Jun 2025 12:51:14 +0200 Subject: [PATCH 09/27] update model-libraries-snippets.ts --- packages/tasks/src/model-libraries-snippets.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/tasks/src/model-libraries-snippets.ts b/packages/tasks/src/model-libraries-snippets.ts index cb3b38eb7d..6197873bf7 100644 --- a/packages/tasks/src/model-libraries-snippets.ts +++ b/packages/tasks/src/model-libraries-snippets.ts @@ -1638,7 +1638,7 @@ torchaudio.save("sample.wav", audio, model.autoencoder.sampling_rate) `, ]; -export const smolvla = (): string[] => [ +export const smolvla = (model: ModelData): string[] => [ `# git clone https://github.com/huggingface/lerobot.git cd lerobot conda create -y -n lerobot python=3.10 @@ -1648,7 +1648,7 @@ conda activate lerobot conda install ffmpeg=7.1.1 -c conda-forge # Install LeRobot with the SmolVLA extra dependencies -pip install -e ".[smolvla]" +pip install -e ".[${model.id}]" # Launch finetuning on your dataset cd lerobot && python lerobot/scripts/train.py \\ From 8ded89d6bf22c18e227db00dcf167aece69f92e5 Mon Sep 17 00:00:00 2001 From: danaaubakirova Date: Mon, 16 Jun 2025 11:35:02 +0200 Subject: [PATCH 10/27] fix format --- packages/tasks/src/model-libraries.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tasks/src/model-libraries.ts b/packages/tasks/src/model-libraries.ts index 0aad5cadac..4cbe3d47e7 100644 --- a/packages/tasks/src/model-libraries.ts +++ b/packages/tasks/src/model-libraries.ts @@ -1109,7 +1109,7 @@ export const MODEL_LIBRARIES_UI_ELEMENTS = { repoUrl: "https://github.com/huggingface/lerobot/blob/main/lerobot/common/policies/smolvla", docsUrl: "https://huggingface.co/docs/lerobot/smolvla", filter: false, - snippets: snippets.smolvla, + snippets: snippets.smolvla, }, } satisfies Record; From 923df2d8c3fc4d1bcab63fbc4068d3e7ff582bc1 Mon Sep 17 00:00:00 2001 From: Dana Aubakirova <118912928+danaaubakirova@users.noreply.github.com> Date: Mon, 23 Jun 2025 14:49:41 +0200 Subject: [PATCH 11/27] Update packages/tasks/src/model-libraries-snippets.ts Co-authored-by: Lucain --- packages/tasks/src/model-libraries-snippets.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tasks/src/model-libraries-snippets.ts b/packages/tasks/src/model-libraries-snippets.ts index 6197873bf7..873d6ecc32 100644 --- a/packages/tasks/src/model-libraries-snippets.ts +++ b/packages/tasks/src/model-libraries-snippets.ts @@ -1648,7 +1648,7 @@ conda activate lerobot conda install ffmpeg=7.1.1 -c conda-forge # Install LeRobot with the SmolVLA extra dependencies -pip install -e ".[${model.id}]" +pip install -e ".[smolvla]" # Launch finetuning on your dataset cd lerobot && python lerobot/scripts/train.py \\ From a68bbf62ae9b29172dc55f0924df6a861c936637 Mon Sep 17 00:00:00 2001 From: Dana Aubakirova <118912928+danaaubakirova@users.noreply.github.com> Date: Mon, 23 Jun 2025 14:49:56 +0200 Subject: [PATCH 12/27] Update packages/tasks/src/model-libraries.ts Co-authored-by: Pedro Cuenca --- packages/tasks/src/model-libraries.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tasks/src/model-libraries.ts b/packages/tasks/src/model-libraries.ts index 4cbe3d47e7..60966d775f 100644 --- a/packages/tasks/src/model-libraries.ts +++ b/packages/tasks/src/model-libraries.ts @@ -1106,7 +1106,7 @@ export const MODEL_LIBRARIES_UI_ELEMENTS = { smolvla: { prettyLabel: "SmolVLA", repoName: "🤗/lerobot", - repoUrl: "https://github.com/huggingface/lerobot/blob/main/lerobot/common/policies/smolvla", + repoUrl: "https://github.com/huggingface/lerobot", docsUrl: "https://huggingface.co/docs/lerobot/smolvla", filter: false, snippets: snippets.smolvla, From 7f370c300940e3eda8067a98f83c9a7bd00214fe Mon Sep 17 00:00:00 2001 From: Dana Aubakirova <118912928+danaaubakirova@users.noreply.github.com> Date: Mon, 23 Jun 2025 14:50:45 +0200 Subject: [PATCH 13/27] Update packages/tasks/src/model-libraries-snippets.ts Co-authored-by: Lucain --- packages/tasks/src/model-libraries-snippets.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tasks/src/model-libraries-snippets.ts b/packages/tasks/src/model-libraries-snippets.ts index 873d6ecc32..3bce2dc8f0 100644 --- a/packages/tasks/src/model-libraries-snippets.ts +++ b/packages/tasks/src/model-libraries-snippets.ts @@ -1652,7 +1652,7 @@ pip install -e ".[smolvla]" # Launch finetuning on your dataset cd lerobot && python lerobot/scripts/train.py \\ - --policy.path=lerobot/smolvla_base \\ + --policy.path=${model.id} \\ --dataset.repo_id=lerobot/svla_so101_pickplace \\ --batch_size=64 \\ --steps=20000 \\ From f78b651a1287e5a034f3ec5ff8756bb9020a9aeb Mon Sep 17 00:00:00 2001 From: Dana Aubakirova <118912928+danaaubakirova@users.noreply.github.com> Date: Mon, 23 Jun 2025 14:50:55 +0200 Subject: [PATCH 14/27] Update packages/tasks/src/model-libraries.ts Co-authored-by: Lucain --- packages/tasks/src/model-libraries.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tasks/src/model-libraries.ts b/packages/tasks/src/model-libraries.ts index 60966d775f..1e15460368 100644 --- a/packages/tasks/src/model-libraries.ts +++ b/packages/tasks/src/model-libraries.ts @@ -1105,7 +1105,7 @@ export const MODEL_LIBRARIES_UI_ELEMENTS = { }, smolvla: { prettyLabel: "SmolVLA", - repoName: "🤗/lerobot", + repoName: "LeRobot", repoUrl: "https://github.com/huggingface/lerobot", docsUrl: "https://huggingface.co/docs/lerobot/smolvla", filter: false, From 64a8e3b655e1ebecece479c0cad2e28935aad55a Mon Sep 17 00:00:00 2001 From: danaaubakirova Date: Mon, 23 Jun 2025 15:30:08 +0200 Subject: [PATCH 15/27] fix --- packages/tasks/src/model-libraries-snippets.ts | 11 +---------- packages/tasks/src/model-libraries.ts | 2 +- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/packages/tasks/src/model-libraries-snippets.ts b/packages/tasks/src/model-libraries-snippets.ts index 3bce2dc8f0..b6d64a98c1 100644 --- a/packages/tasks/src/model-libraries-snippets.ts +++ b/packages/tasks/src/model-libraries-snippets.ts @@ -1639,16 +1639,7 @@ torchaudio.save("sample.wav", audio, model.autoencoder.sampling_rate) ]; export const smolvla = (model: ModelData): string[] => [ - `# git clone https://github.com/huggingface/lerobot.git -cd lerobot -conda create -y -n lerobot python=3.10 -conda activate lerobot - -# Install ffmpeg (required for video processing) -conda install ffmpeg=7.1.1 -c conda-forge - -# Install LeRobot with the SmolVLA extra dependencies -pip install -e ".[smolvla]" + `## !pip install "git+https://github.com/huggingface/lerobot.git#egg=lerobot[smolvla]" # Launch finetuning on your dataset cd lerobot && python lerobot/scripts/train.py \\ diff --git a/packages/tasks/src/model-libraries.ts b/packages/tasks/src/model-libraries.ts index 1e15460368..fff1916dba 100644 --- a/packages/tasks/src/model-libraries.ts +++ b/packages/tasks/src/model-libraries.ts @@ -1103,7 +1103,7 @@ export const MODEL_LIBRARIES_UI_ELEMENTS = { countDownloads: `path:"model_vae_fp16.pt"`, snippets: snippets.threedtopia_xl, }, - smolvla: { + lerobot: { prettyLabel: "SmolVLA", repoName: "LeRobot", repoUrl: "https://github.com/huggingface/lerobot", From 15dc85d5137d1d70bf9dd660700fc80ae9aabc06 Mon Sep 17 00:00:00 2001 From: danaaubakirova Date: Tue, 24 Jun 2025 08:39:27 +0200 Subject: [PATCH 16/27] fix --- packages/tasks/src/model-libraries-snippets.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tasks/src/model-libraries-snippets.ts b/packages/tasks/src/model-libraries-snippets.ts index b6d64a98c1..20ea841acf 100644 --- a/packages/tasks/src/model-libraries-snippets.ts +++ b/packages/tasks/src/model-libraries-snippets.ts @@ -1639,7 +1639,7 @@ torchaudio.save("sample.wav", audio, model.autoencoder.sampling_rate) ]; export const smolvla = (model: ModelData): string[] => [ - `## !pip install "git+https://github.com/huggingface/lerobot.git#egg=lerobot[smolvla]" + `# !pip install "git+https://github.com/huggingface/lerobot.git#egg=lerobot[smolvla]" # Launch finetuning on your dataset cd lerobot && python lerobot/scripts/train.py \\ From 5ed372b8e4b4fc45b1fa7c8a29eb113489493861 Mon Sep 17 00:00:00 2001 From: danaaubakirova Date: Tue, 24 Jun 2025 09:36:13 +0200 Subject: [PATCH 17/27] reorder to alphabetical order --- packages/tasks/src/model-libraries.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/tasks/src/model-libraries.ts b/packages/tasks/src/model-libraries.ts index 25695738e6..f5fbbe8f0f 100644 --- a/packages/tasks/src/model-libraries.ts +++ b/packages/tasks/src/model-libraries.ts @@ -527,6 +527,14 @@ export const MODEL_LIBRARIES_UI_ELEMENTS = { filter: false, countDownloads: `path_extension:"litertlm"`, }, + lerobot: { + prettyLabel: "SmolVLA", + repoName: "LeRobot", + repoUrl: "https://github.com/huggingface/lerobot", + docsUrl: "https://huggingface.co/docs/lerobot/smolvla", + filter: false, + snippets: snippets.smolvla, + }, liveportrait: { prettyLabel: "LivePortrait", repoName: "LivePortrait", @@ -1132,14 +1140,6 @@ export const MODEL_LIBRARIES_UI_ELEMENTS = { countDownloads: `path:"model_vae_fp16.pt"`, snippets: snippets.threedtopia_xl, }, - lerobot: { - prettyLabel: "SmolVLA", - repoName: "LeRobot", - repoUrl: "https://github.com/huggingface/lerobot", - docsUrl: "https://huggingface.co/docs/lerobot/smolvla", - filter: false, - snippets: snippets.smolvla, - }, } satisfies Record; export type ModelLibraryKey = keyof typeof MODEL_LIBRARIES_UI_ELEMENTS; From 17773dc19afd6d66bb23f0dbebe38a42ba01d2d4 Mon Sep 17 00:00:00 2001 From: Dana Aubakirova <118912928+danaaubakirova@users.noreply.github.com> Date: Tue, 24 Jun 2025 11:57:04 +0200 Subject: [PATCH 18/27] Update packages/tasks/src/model-libraries-snippets.ts Co-authored-by: Lucain --- .../tasks/src/model-libraries-snippets.ts | 45 +++++++++++++------ 1 file changed, 31 insertions(+), 14 deletions(-) diff --git a/packages/tasks/src/model-libraries-snippets.ts b/packages/tasks/src/model-libraries-snippets.ts index 76b3f29d63..4eb29aff1b 100644 --- a/packages/tasks/src/model-libraries-snippets.ts +++ b/packages/tasks/src/model-libraries-snippets.ts @@ -1736,19 +1736,36 @@ torchaudio.save("sample.wav", audio, model.autoencoder.sampling_rate) `, ]; -export const smolvla = (model: ModelData): string[] => [ - `# !pip install "git+https://github.com/huggingface/lerobot.git#egg=lerobot[smolvla]" - -# Launch finetuning on your dataset -cd lerobot && python lerobot/scripts/train.py \\ - --policy.path=${model.id} \\ - --dataset.repo_id=lerobot/svla_so101_pickplace \\ - --batch_size=64 \\ - --steps=20000 \\ - --output_dir=outputs/train/my_smolvla \\ - --job_name=my_smolvla_training \\ - --policy.device=cuda \\ - --wandb.enable=true`, -]; +export const lerobot = (model: ModelData): string[] => { + if (model.tags.includes("smolvla")) { + const smolvlaSnippets = [ + // Installation snippet + `# Install LeRobot from source +git clone https://github.com/huggingface/lerobot.git +cd lerobot +pip install -e .[smolvla]`, + // Finetune snippet + `# Launch finetuning on your dataset +python lerobot/scripts/train.py \\ +--policy.path=${model.id} \\ +--dataset.repo_id=lerobot/svla_so101_pickplace \\ +--batch_size=64 \\ +--steps=20000 \\ +--output_dir=outputs/train/my_smolvla \\ +--job_name=my_smolvla_training \\ +--policy.device=cuda \\ +--wandb.enable=true`, + ]; + if (model.id !== "lerobot/smolvla_base") { + // Inference snippet (only if not base model) + smolvlaSnippets.push( + `# Run the policy +` + ); + } + return smolvlaSnippets; + } + return []; +}; //#endregion From d88c4f131d62852b820269770527606e9ddd20bd Mon Sep 17 00:00:00 2001 From: Dana Aubakirova <118912928+danaaubakirova@users.noreply.github.com> Date: Tue, 24 Jun 2025 11:57:13 +0200 Subject: [PATCH 19/27] Update packages/tasks/src/model-libraries.ts Co-authored-by: Lucain --- packages/tasks/src/model-libraries.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tasks/src/model-libraries.ts b/packages/tasks/src/model-libraries.ts index f5fbbe8f0f..c1616e9b11 100644 --- a/packages/tasks/src/model-libraries.ts +++ b/packages/tasks/src/model-libraries.ts @@ -531,7 +531,7 @@ export const MODEL_LIBRARIES_UI_ELEMENTS = { prettyLabel: "SmolVLA", repoName: "LeRobot", repoUrl: "https://github.com/huggingface/lerobot", - docsUrl: "https://huggingface.co/docs/lerobot/smolvla", + docsUrl: "https://huggingface.co/docs/lerobot", filter: false, snippets: snippets.smolvla, }, From 6c805cbbbae7cdbd7c25f943aa6ef018a4e8414b Mon Sep 17 00:00:00 2001 From: Dana Aubakirova <118912928+danaaubakirova@users.noreply.github.com> Date: Tue, 24 Jun 2025 11:57:22 +0200 Subject: [PATCH 20/27] Update packages/tasks/src/model-libraries.ts Co-authored-by: Lucain --- packages/tasks/src/model-libraries.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tasks/src/model-libraries.ts b/packages/tasks/src/model-libraries.ts index c1616e9b11..09170ae674 100644 --- a/packages/tasks/src/model-libraries.ts +++ b/packages/tasks/src/model-libraries.ts @@ -528,7 +528,7 @@ export const MODEL_LIBRARIES_UI_ELEMENTS = { countDownloads: `path_extension:"litertlm"`, }, lerobot: { - prettyLabel: "SmolVLA", + prettyLabel: "LeRobot", repoName: "LeRobot", repoUrl: "https://github.com/huggingface/lerobot", docsUrl: "https://huggingface.co/docs/lerobot", From 400c41f393e26e3d1d038d65b510c8b59196419a Mon Sep 17 00:00:00 2001 From: Dana Aubakirova <118912928+danaaubakirova@users.noreply.github.com> Date: Tue, 24 Jun 2025 11:57:28 +0200 Subject: [PATCH 21/27] Update packages/tasks/src/model-libraries.ts Co-authored-by: Lucain --- packages/tasks/src/model-libraries.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tasks/src/model-libraries.ts b/packages/tasks/src/model-libraries.ts index 09170ae674..6b01e7e00e 100644 --- a/packages/tasks/src/model-libraries.ts +++ b/packages/tasks/src/model-libraries.ts @@ -533,7 +533,7 @@ export const MODEL_LIBRARIES_UI_ELEMENTS = { repoUrl: "https://github.com/huggingface/lerobot", docsUrl: "https://huggingface.co/docs/lerobot", filter: false, - snippets: snippets.smolvla, + snippets: snippets.lerobot, }, liveportrait: { prettyLabel: "LivePortrait", From 3bf96718ddead0ebef69156ec6113ee4a6e441f0 Mon Sep 17 00:00:00 2001 From: danaaubakirova Date: Tue, 24 Jun 2025 12:19:42 +0200 Subject: [PATCH 22/27] add the code for models that are not smolvla_base --- packages/tasks/src/model-libraries-snippets.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/tasks/src/model-libraries-snippets.ts b/packages/tasks/src/model-libraries-snippets.ts index 4eb29aff1b..0571b2f656 100644 --- a/packages/tasks/src/model-libraries-snippets.ts +++ b/packages/tasks/src/model-libraries-snippets.ts @@ -1748,7 +1748,7 @@ pip install -e .[smolvla]`, `# Launch finetuning on your dataset python lerobot/scripts/train.py \\ --policy.path=${model.id} \\ ---dataset.repo_id=lerobot/svla_so101_pickplace \\ +--dataset.repo_id=lerobot/svla_so101_pickplace \\ # <- This will be the dataset name on HF Hub --batch_size=64 \\ --steps=20000 \\ --output_dir=outputs/train/my_smolvla \\ @@ -1760,7 +1760,16 @@ python lerobot/scripts/train.py \\ // Inference snippet (only if not base model) smolvlaSnippets.push( `# Run the policy -` +python -m lerobot.record \ + --robot.type=so101_follower \ + --robot.port=/dev/ttyACM0 \ # <- Use your port + --robot.id=my_blue_follower_arm \ # <- Use your robot id + --robot.cameras="{ front: {type: opencv, index_or_path: 8, width: 640, height: 480, fps: 30}}" \ # <- Use your cameras + --dataset.single_task="Grasp a lego block and put it in the bin." \ # <- Use the same task description you used in your dataset recording + --dataset.repo_id=lerobot/svla_so101_pickplace \ # <- This will be the dataset name on HF Hub + --dataset.episode_time_s=50 \ + --dataset.num_episodes=10 \ + --policy.path=${model.id}` ); } return smolvlaSnippets; From b6e6919e59dd7a2825e4cda4e252cc0ccbdc77a6 Mon Sep 17 00:00:00 2001 From: danaaubakirova Date: Tue, 24 Jun 2025 12:28:47 +0200 Subject: [PATCH 23/27] smol fix --- packages/tasks/src/model-libraries-snippets.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/tasks/src/model-libraries-snippets.ts b/packages/tasks/src/model-libraries-snippets.ts index 0571b2f656..1dc5a0783d 100644 --- a/packages/tasks/src/model-libraries-snippets.ts +++ b/packages/tasks/src/model-libraries-snippets.ts @@ -1748,7 +1748,7 @@ pip install -e .[smolvla]`, `# Launch finetuning on your dataset python lerobot/scripts/train.py \\ --policy.path=${model.id} \\ ---dataset.repo_id=lerobot/svla_so101_pickplace \\ # <- This will be the dataset name on HF Hub +--dataset.repo_id=lerobot/svla_so101_pickplace \\ --batch_size=64 \\ --steps=20000 \\ --output_dir=outputs/train/my_smolvla \\ @@ -1759,14 +1759,14 @@ python lerobot/scripts/train.py \\ if (model.id !== "lerobot/smolvla_base") { // Inference snippet (only if not base model) smolvlaSnippets.push( - `# Run the policy + `# Run the policy using the record function python -m lerobot.record \ --robot.type=so101_follower \ --robot.port=/dev/ttyACM0 \ # <- Use your port --robot.id=my_blue_follower_arm \ # <- Use your robot id --robot.cameras="{ front: {type: opencv, index_or_path: 8, width: 640, height: 480, fps: 30}}" \ # <- Use your cameras --dataset.single_task="Grasp a lego block and put it in the bin." \ # <- Use the same task description you used in your dataset recording - --dataset.repo_id=lerobot/svla_so101_pickplace \ # <- This will be the dataset name on HF Hub + --dataset.repo_id=HF_USER/dataset_name \ # <- This will be the dataset name on HF Hub --dataset.episode_time_s=50 \ --dataset.num_episodes=10 \ --policy.path=${model.id}` From 9a42a0d66783506624c226d477b9a9f70b0e12ea Mon Sep 17 00:00:00 2001 From: danaaubakirova Date: Tue, 24 Jun 2025 12:41:19 +0200 Subject: [PATCH 24/27] reorder lerobot snippets --- .../tasks/src/model-libraries-snippets.ts | 81 ++++++++++--------- 1 file changed, 41 insertions(+), 40 deletions(-) diff --git a/packages/tasks/src/model-libraries-snippets.ts b/packages/tasks/src/model-libraries-snippets.ts index 1dc5a0783d..a05d4bfaa3 100644 --- a/packages/tasks/src/model-libraries-snippets.ts +++ b/packages/tasks/src/model-libraries-snippets.ts @@ -762,6 +762,47 @@ print(output)`); return snippets; }; +export const lerobot = (model: ModelData): string[] => { + if (model.tags.includes("smolvla")) { + const smolvlaSnippets = [ + // Installation snippet + `# Install LeRobot from source +git clone https://github.com/huggingface/lerobot.git +cd lerobot +pip install -e .[smolvla]`, + // Finetune snippet + `# Launch finetuning on your dataset +python lerobot/scripts/train.py \\ +--policy.path=${model.id} \\ +--dataset.repo_id=lerobot/svla_so101_pickplace \\ +--batch_size=64 \\ +--steps=20000 \\ +--output_dir=outputs/train/my_smolvla \\ +--job_name=my_smolvla_training \\ +--policy.device=cuda \\ +--wandb.enable=true`, + ]; + if (model.id !== "lerobot/smolvla_base") { + // Inference snippet (only if not base model) + smolvlaSnippets.push( + `# Run the policy using the record function +python -m lerobot.record \ + --robot.type=so101_follower \ + --robot.port=/dev/ttyACM0 \ # <- Use your port + --robot.id=my_blue_follower_arm \ # <- Use your robot id + --robot.cameras="{ front: {type: opencv, index_or_path: 8, width: 640, height: 480, fps: 30}}" \ # <- Use your cameras + --dataset.single_task="Grasp a lego block and put it in the bin." \ # <- Use the same task description you used in your dataset recording + --dataset.repo_id=HF_USER/dataset_name \ # <- This will be the dataset name on HF Hub + --dataset.episode_time_s=50 \ + --dataset.num_episodes=10 \ + --policy.path=${model.id}` + ); + } + return smolvlaSnippets; + } + return []; +}; + export const tf_keras = (model: ModelData): string[] => [ `# Note: 'keras<3.x' or 'tf_keras' must be installed (legacy) # See https://github.com/keras-team/tf-keras for more details. @@ -1736,45 +1777,5 @@ torchaudio.save("sample.wav", audio, model.autoencoder.sampling_rate) `, ]; -export const lerobot = (model: ModelData): string[] => { - if (model.tags.includes("smolvla")) { - const smolvlaSnippets = [ - // Installation snippet - `# Install LeRobot from source -git clone https://github.com/huggingface/lerobot.git -cd lerobot -pip install -e .[smolvla]`, - // Finetune snippet - `# Launch finetuning on your dataset -python lerobot/scripts/train.py \\ ---policy.path=${model.id} \\ ---dataset.repo_id=lerobot/svla_so101_pickplace \\ ---batch_size=64 \\ ---steps=20000 \\ ---output_dir=outputs/train/my_smolvla \\ ---job_name=my_smolvla_training \\ ---policy.device=cuda \\ ---wandb.enable=true`, - ]; - if (model.id !== "lerobot/smolvla_base") { - // Inference snippet (only if not base model) - smolvlaSnippets.push( - `# Run the policy using the record function -python -m lerobot.record \ - --robot.type=so101_follower \ - --robot.port=/dev/ttyACM0 \ # <- Use your port - --robot.id=my_blue_follower_arm \ # <- Use your robot id - --robot.cameras="{ front: {type: opencv, index_or_path: 8, width: 640, height: 480, fps: 30}}" \ # <- Use your cameras - --dataset.single_task="Grasp a lego block and put it in the bin." \ # <- Use the same task description you used in your dataset recording - --dataset.repo_id=HF_USER/dataset_name \ # <- This will be the dataset name on HF Hub - --dataset.episode_time_s=50 \ - --dataset.num_episodes=10 \ - --policy.path=${model.id}` - ); - } - return smolvlaSnippets; - } - return []; -}; //#endregion From 301e374ac53bc86ad88a93775a6201aa9334c55a Mon Sep 17 00:00:00 2001 From: danaaubakirova Date: Tue, 24 Jun 2025 12:49:32 +0200 Subject: [PATCH 25/27] fix lint issues --- packages/tasks/src/model-libraries-snippets.ts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/tasks/src/model-libraries-snippets.ts b/packages/tasks/src/model-libraries-snippets.ts index a05d4bfaa3..01920e2dbf 100644 --- a/packages/tasks/src/model-libraries-snippets.ts +++ b/packages/tasks/src/model-libraries-snippets.ts @@ -786,15 +786,15 @@ python lerobot/scripts/train.py \\ // Inference snippet (only if not base model) smolvlaSnippets.push( `# Run the policy using the record function -python -m lerobot.record \ - --robot.type=so101_follower \ - --robot.port=/dev/ttyACM0 \ # <- Use your port - --robot.id=my_blue_follower_arm \ # <- Use your robot id - --robot.cameras="{ front: {type: opencv, index_or_path: 8, width: 640, height: 480, fps: 30}}" \ # <- Use your cameras - --dataset.single_task="Grasp a lego block and put it in the bin." \ # <- Use the same task description you used in your dataset recording - --dataset.repo_id=HF_USER/dataset_name \ # <- This will be the dataset name on HF Hub - --dataset.episode_time_s=50 \ - --dataset.num_episodes=10 \ +python -m lerobot.record \\ + --robot.type=so101_follower \\ + --robot.port=/dev/ttyACM0 \\ # <- Use your port + --robot.id=my_blue_follower_arm \\ # <- Use your robot id + --robot.cameras="{ front: {type: opencv, index_or_path: 8, width: 640, height: 480, fps: 30}}" \\ # <- Use your cameras + --dataset.single_task="Grasp a lego block and put it in the bin." \\ # <- Use the same task description you used in your dataset recording + --dataset.repo_id=HF_USER/dataset_name \\ # <- This will be the dataset name on HF Hub + --dataset.episode_time_s=50 \\ + --dataset.num_episodes=10 \\ --policy.path=${model.id}` ); } From f817655659fc8686d93830b7a4b83cc5a2b20154 Mon Sep 17 00:00:00 2001 From: Pedro Cuenca Date: Tue, 24 Jun 2025 13:22:52 +0200 Subject: [PATCH 26/27] Fix lint --- packages/tasks/src/model-libraries-snippets.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/tasks/src/model-libraries-snippets.ts b/packages/tasks/src/model-libraries-snippets.ts index 01920e2dbf..161a701743 100644 --- a/packages/tasks/src/model-libraries-snippets.ts +++ b/packages/tasks/src/model-libraries-snippets.ts @@ -1776,6 +1776,4 @@ audio = model.autoencoder.decode(codes)[0].cpu() torchaudio.save("sample.wav", audio, model.autoencoder.sampling_rate) `, ]; - - //#endregion From d50d2ce18ee55f793cd6c1b26412660639d241c5 Mon Sep 17 00:00:00 2001 From: Lucain Date: Wed, 25 Jun 2025 11:13:10 +0200 Subject: [PATCH 27/27] Update packages/tasks/src/model-libraries-snippets.ts --- packages/tasks/src/model-libraries-snippets.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tasks/src/model-libraries-snippets.ts b/packages/tasks/src/model-libraries-snippets.ts index 161a701743..a5e63fae65 100644 --- a/packages/tasks/src/model-libraries-snippets.ts +++ b/packages/tasks/src/model-libraries-snippets.ts @@ -766,7 +766,7 @@ export const lerobot = (model: ModelData): string[] => { if (model.tags.includes("smolvla")) { const smolvlaSnippets = [ // Installation snippet - `# Install LeRobot from source + `# See https://github.com/huggingface/lerobot?tab=readme-ov-file#installation for more details git clone https://github.com/huggingface/lerobot.git cd lerobot pip install -e .[smolvla]`,