{"slug": "what-is-the-expected-success-rate-for-a-act-trained-model-using-50-episodes", "title": "What is the expected success rate for a ACT trained model using 50 episodes", "summary": "Hugging Face's LeRobot documentation recommends at least 50 demonstration episodes, roughly 10 per location, for training an ACT model, but the original ACT/ALOHA results show success rates ranging from 64% to 96% across four tasks with 50 demonstrations, indicating no universal success-rate benchmark. The 5.6 Hz warning in LeRobot v0.6.1 may stem from the rollout/control loop rather than the training dataset, and users should inspect the recorded dataset and separate generalization issues from calibration problems before collecting more episodes.", "body_md": "For now, I think I found a few cases that seem fairly close:\n\n**Short answer:** I would not expect there to be a useful universal number like “ACT trained on 50 episodes should succeed X% of the time.” Fifty demonstrations is a very reasonable *starting recipe*, but it is not a success-rate benchmark.\n\nThe current [LeRobot imitation-learning tutorial](https://huggingface.co/docs/lerobot/il_robots) recommends **at least 50 episodes, roughly 10 per location**, while keeping the cameras fixed and the grasping behavior consistent. The [ACT documentation](https://huggingface.co/docs/lerobot/act) also describes ACT as often being quite data-efficient at around 50 demonstrations. But the original [ACT/ALOHA results](https://tonyzhaozh.github.io/aloha/) are very task/setup-specific: they used 50 demonstrations per task, ran the policy at 50 Hz, randomized object position along a defined 15 cm range for both training and testing, and reported 96%, 84%, 64%, and 92% on four different tasks. So even the original 50-demo results span a fairly large range.\n\nFor your particular symptoms, I think there are **two separate questions** worth keeping apart:\n\nAnd there is a third, somewhat independent clue: the **5.6 Hz warning**.\n\nYour shortened source path ends in:\n\n```\n...gies/base.py:75\n```\n\nIf you are using the newer LeRobot rollout stack (for example v0.6.1), that suffix is very suggestive of [ lerobot/rollout/strategies/base.py](https://github.com/huggingface/lerobot/blob/v0.6.1/src/lerobot/rollout/strategies/base.py). The important and slightly confusing detail is that\n\n`BaseStrategy`\n\nis explicitly the \n\n```\nRecord loop is running slower (...) than the target FPS (...).\nDataset frames might be dropped and robot control might be unstable.\n```\n\nSo if that is the actual full path, the warning text by itself does **not** prove that your 50 training demonstrations were recorded at 5.6 Hz. It may instead be describing the policy rollout/control loop. LeRobot v0.6.0 introduced the dedicated [ lerobot-rollout](https://huggingface.co/blog/lerobot-release-v060) workflow, so the exact command/version matters here.\n\nOn the other hand, [ lerobot_record.py](https://github.com/huggingface/lerobot/blob/v0.6.1/src/lerobot/scripts/lerobot_record.py) also has a slow-loop warning with almost identical wording. So I would not guess from the message alone:\n\n`lerobot-record`\n\nor `lerobot-rollout`\n\nis the highest-information discriminator.A compact way to think about it is:\n\n```\nWhere is the 5.6 Hz warning actually coming from?\n│\n├─ rollout/strategies/base.py\n│  └─ Treat it primarily as a rollout/control-loop problem.\n│     It does not, by itself, say the training dataset was captured at 5.6 Hz.\n│\n└─ actual lerobot-record path is also running around 5.6 Hz\n   └─ Inspect the already-recorded dataset before collecting more episodes,\n      because nominal 30 FPS and actual capture/control cadence may disagree.\n\nThen separate the behavior:\n│\n├─ demonstrated positions work; held-out positions fail\n│  └─ data coverage / generalization is the leading branch\n│\n└─ demonstrated positions also miss consistently to the right\n   └─ calibration / camera geometry / config / timing deserves its own branch\n```\n\nIf I were trying to minimize the amount of rework, that is the order I would use rather than immediately recording another 50 episodes.\n\nA few fairly close real-world ACT casesI would **not throw away the 50 episodes yet, and I would not immediately collect another 50 either**.\n\nThe lowest-cost sequence seems to be:\n\n`lerobot-info`\n\nand note the exact LeRobot version.`lerobot-record`\n\nvs `lerobot-rollout`\n\n, and strategy if applicable).That should turn “Is 50 episodes enough?” into a much more useful answer:\n\n```\nIs the dataset/control path healthy?\n        ↓\nCan it reproduce the demonstrated distribution?\n        ↓\nHow far does it generalize outside that distribution?\n```\n\nIf the first two are healthy, then increasing *coverage* rather than simply increasing the raw episode count becomes a much more defensible next experiment.", "url": "https://wpnews.pro/news/what-is-the-expected-success-rate-for-a-act-trained-model-using-50-episodes", "canonical_source": "https://discuss.huggingface.co/t/what-is-the-expected-success-rate-for-a-act-trained-model-using-50-episodes/178517#post_2", "published_at": "2026-08-09 06:39:06+00:00", "updated_at": "2026-08-09 12:38:27.503911+00:00", "lang": "en", "topics": ["robotics", "machine-learning"], "entities": ["Hugging Face", "LeRobot", "ACT", "ALOHA"], "alternates": {"html": "https://wpnews.pro/news/what-is-the-expected-success-rate-for-a-act-trained-model-using-50-episodes", "markdown": "https://wpnews.pro/news/what-is-the-expected-success-rate-for-a-act-trained-model-using-50-episodes.md", "text": "https://wpnews.pro/news/what-is-the-expected-success-rate-for-a-act-trained-model-using-50-episodes.txt", "jsonld": "https://wpnews.pro/news/what-is-the-expected-success-rate-for-a-act-trained-model-using-50-episodes.jsonld"}}