Instructions to use Dimios45/dp_tactile_charger_20ep with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use Dimios45/dp_tactile_charger_20ep with LeRobot:
- Notebooks
- Google Colab
- Kaggle
dp_tactile_charger_20ep
Diffusion policy — vision + tactile — trained on 20 episodes.
Task: grab and remove the charger from the socket and put it in the black box
Trained with LeFlexiTac, a LeRobot fork adding FlexiTac tactile sensing. Docs: https://tna001-ai.github.io/LeFlexiTac/docs.html
Training data
| dataset | aryankakad/tactile_charger_inserting |
| episodes | 20 (indices 0–19) |
| frames | 10,717 @ 30 fps |
| cameras | observation.images.top, observation.images.gripper (224×224) |
| tactile | observation.tactile.primary (12×32) |
| state / action | 6-DoF SO-100 follower |
Configuration
| steps | 76,600 |
| batch size | 16 |
| epochs | 114.4 |
horizon |
16 |
n_obs_steps |
2 |
n_action_steps |
8 |
frame_stride |
3 |
resize_shape |
[144, 192] |
crop_is_random |
True |
optimizer_lr |
0.0001 |
use_amp |
True |
n_tactile_chunks |
1 |
tactile_feature_dim |
64 |
Every model in this series is epoch-matched at ~114.4 epochs, so dataset size and sensor modality are the only variables across the set.
Training command actually used
Run on 1× AMD Instinct MI300X (ROCm 6.2.4). HIP_VISIBLE_DEVICES selected the GPU,
so --policy.device=cuda refers to that single card.
python -u -m lerobot.scripts.lerobot_train \
--dataset.repo_id=aryankakad/tactile_charger_inserting \
--dataset.episodes='[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]' \
--policy.type=diffusion --policy.use_tactile=true \
--policy.tactile_features='["observation.tactile.primary"]' \
--policy.n_tactile_chunks=1 --policy.tactile_feature_dim=64 \
--policy.crop_is_random=true --policy.resize_shape='[144,192]' \
--policy.use_amp=true --policy.frame_stride=3 \
--policy.repo_id=Dimios45/dp_tactile_charger_20ep \
--policy.private=true --policy.device=cuda \
--output_dir=outputs/train/C_dp_tactile_20ep --job_name=C_dp_tactile_20ep \
--batch_size=16 --num_workers=8 --steps=76600 --save_freq=20000 --wandb.enable=true
Evaluation / rollout
Not run here — this machine has no robot attached. To evaluate, run on the machine with the
SO-100 and sensors, loading the policy with --policy.path=Dimios45/dp_tactile_charger_20ep.
Reference: the lerobot-record eval invocations in
tactile_cmd.txt
and the project docs. You will need to
supply your own robot port, camera serials, and a primary tactile sensor entry matching training.
Notes
- Two ROCm-specific fixes were required in the fork:
persistent_workers=Trueon the dataloader (epoch boundaries otherwise stalled ~410 s each), and keepingcudnn.benchmarkoff (on ROCm it triggers an exhaustive MIOpen search that can precede step 1 by hours). - Training loss is not a proxy for task success. Compare policies by rollout success rate, especially on contact-rich phases.
- The source dataset's task string is labelled
stack cup— a mislabel carried over from an earlier session. It does not affect Diffusion, which is not language-conditioned.
- Downloads last month
- 14