Views
No views yet

2026-03-05: 🤗 We released Robo-Dopamine-GRM-2.0-8B-Preview model. More General, More Powerful!!!2026-03-02: 🤗 We released Robo-Dopamine-GRM-8B model2026-02-22: 🔥🔥🔥 Robo-Dopamine gets accepted to CVPR 2026! See you in Denver, Colorado, USA!2026-02-10: ⚡ We released data generation pipeline and finetune codes. Try to finetune with your own data.2026-01-26: 🔍 We released Robo-Dopamine-Bench benchmark and evaluation codes.2026-01-08: 🤗 We released Robo-Dopamine-GRM-3B model and inference codes.2025-12-30: ✨ Codes, Dataset and Weights are coming soon! Stay tuned for updates.2025-12-30: 🔥 We released our Project Page of Robo-Dopamine.
1# clone repo.
2git clone https://github.com/FlagOpen/Robo-Dopamine.git
3cd Robo-Dopamine
4
5# build conda env.
6conda create -n robo-dopamine python=3.10
7conda activate robo-dopamine
8pip install -r requirements.txt1import os
2from examples.inference import GRMInference
3
4model = GRMInference("tanhuajie2001/Robo-Dopamine-GRM-2.0-8B-Preview")
5
6TASK_INSTRUCTION = "organize the table"
7BASE_DEMO_PATH = "./examples/demo_table"
8OUTPUT_ROOT = "./results"
9
10## Note: If no target/goal image is provided,
11## please replace `GOAL_IMAGE_PATH` with the blank image "./examples/demo_table/blank_goal.png".
12GOAL_IMAGE_PATH = "./examples/demo_table/goal_image.png" # "./examples/demo_table/blank_goal.png"
13
14# select prediction model: Forward-Mode, Incremental-Mode or Backward-Mode
15PREDICTION_MODE = "forward" # "incremental" or "backward"
16
17# multi-view usage:
18output_dir = model.run_pipeline(
19 cam_high_path = os.path.join(BASE_DEMO_PATH, "cam_high.mp4"),
20 cam_left_path = os.path.join(BASE_DEMO_PATH, "cam_left_wrist.mp4"),
21 cam_right_path = os.path.join(BASE_DEMO_PATH, "cam_right_wrist.mp4"),
22 out_root = OUTPUT_ROOT,
23 task = TASK_INSTRUCTION,
24 frame_interval = 10, # modify frame_interval as desired, but it shouldn't be set too small if using 'incremental'.
25 batch_size = 1, # please increase batch_size > 1, if you have enough GPU memory.
26 goal_image = GOAL_IMAGE_PATH,
27 eval_mode = PREDICTION_MODE,
28 visualize = True
29)
30print(f"Episode ({BASE_DEMO_PATH}) processed with multi-view {PREDICTION_MODE}-mode. Output at: {output_dir}")
31
32# single-view usage:
33output_dir = model.run_pipeline(
34 cam_high_path = os.path.join(BASE_DEMO_PATH, "cam_high.mp4"),
35 cam_left_path = os.path.join(BASE_DEMO_PATH, "cam_high.mp4"), # repeat cam_high
36 cam_right_path = os.path.join(BASE_DEMO_PATH, "cam_high.mp4"), # repeat cam_high
37 out_root = OUTPUT_ROOT,
38 task = TASK_INSTRUCTION,
39 frame_interval = 10, # modify frame_interval as desired, but it shouldn't be set too small if using 'incremental'.
40 batch_size = 1, # please increase batch_size > 1, if you have enough GPU memory.
41 goal_image = GOAL_IMAGE_PATH,
42 eval_mode = PREDICTION_MODE,
43 visualize = True
44)
45print(f"Episode ({BASE_DEMO_PATH}) processed with single-view {PREDICTION_MODE}-mode. Output at: {output_dir}")
46@article{tan2025robo,
title={Robo-Dopamine: General Process Reward Modeling for High-Precision Robotic Manipulation},
author={Tan, Huajie and Chen, Sixiang and Xu, Yijie and Wang, Zixiao and Ji, Yuheng and Chi, Cheng and Lyu, Yaoxu and Zhao, Zhongxia and Chen, Xiansheng and Co, Peterson and others},
journal={arXiv preprint arXiv:2512.23703},
year={2025}
}