[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"tool-liruiw--HPT":3,"similar-liruiw--HPT":100},{"id":4,"github_repo":5,"name":6,"description_en":7,"description_zh":8,"ai_summary_zh":9,"readme_en":10,"readme_zh":11,"quickstart_zh":12,"use_case_zh":13,"hero_image_url":14,"owner_login":15,"owner_name":16,"owner_avatar_url":17,"owner_bio":18,"owner_company":19,"owner_location":20,"owner_email":21,"owner_twitter":22,"owner_website":23,"owner_url":24,"languages":25,"stars":38,"forks":39,"last_commit_at":40,"license":41,"difficulty_score":42,"env_os":43,"env_gpu":44,"env_ram":45,"env_deps":46,"category_tags":52,"github_topics":54,"view_count":60,"oss_zip_url":21,"oss_zip_packed_at":21,"status":61,"created_at":62,"updated_at":63,"faqs":64,"releases":99},2828,"liruiw\u002FHPT","HPT","Heterogeneous Pre-trained Transformer (HPT) as Scalable Policy Learner.","HPT（异构预训练 Transformer）是一个专为机器人策略学习设计的开源框架，旨在解决不同形态机器人（如机械臂、四足机器人等）之间数据难以通用、模型需从头训练的痛点。它通过监督学习在多种具身数据集上进行预训练，将不同机器人的感知与动作映射到统一的潜在空间，从而实现“一次预训练，多处微调”。\n\n这意味着开发者无需为每个新任务或新机器人重新训练庞大的模型，只需加载 HPT 提供的预训练权重并进行少量微调，即可快速适应新环境。该方法显著提升了策略学习的扩展性与效率，尤其适合机器人学研究人员、AI 工程师以及希望探索大模型在具身智能中应用的开发者使用。\n\nHPT 的核心亮点在于其“异构”设计：它能处理来自不同传感器配置和控制结构的多样化数据，并验证了 Transformer 架构在策略学习中的缩放规律。项目基于 PyTorch 构建，提供完整的训练、评估脚本及 Hugging Face 预训练模型，支持 MetaWorld 等主流基准测试，同时也鼓励用户接入自有数据集进行定制开发。作为 NeurIPS 2024 Spotlight 论文成果，HPT 为构建通用机器人智能体提供了坚实的技术","HPT（异构预训练 Transformer）是一个专为机器人策略学习设计的开源框架，旨在解决不同形态机器人（如机械臂、四足机器人等）之间数据难以通用、模型需从头训练的痛点。它通过监督学习在多种具身数据集上进行预训练，将不同机器人的感知与动作映射到统一的潜在空间，从而实现“一次预训练，多处微调”。\n\n这意味着开发者无需为每个新任务或新机器人重新训练庞大的模型，只需加载 HPT 提供的预训练权重并进行少量微调，即可快速适应新环境。该方法显著提升了策略学习的扩展性与效率，尤其适合机器人学研究人员、AI 工程师以及希望探索大模型在具身智能中应用的开发者使用。\n\nHPT 的核心亮点在于其“异构”设计：它能处理来自不同传感器配置和控制结构的多样化数据，并验证了 Transformer 架构在策略学习中的缩放规律。项目基于 PyTorch 构建，提供完整的训练、评估脚本及 Hugging Face 预训练模型，支持 MetaWorld 等主流基准测试，同时也鼓励用户接入自有数据集进行定制开发。作为 NeurIPS 2024 Spotlight 论文成果，HPT 为构建通用机器人智能体提供了坚实的技术基础。","# 🦾 Heterogenous Pre-trained Transformers\n[![HF Models](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97-Models-yellow?style=flat-square)](https:\u002F\u002Fhuggingface.co\u002Fliruiw\u002Fhpt-base)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-blue.svg?style=flat-square)](LICENSE)\n[![Paper](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fliruiw_HPT_readme_3ffcc1639012.png)](http:\u002F\u002Farxiv.org\u002Fabs\u002F2409.20537)\n[![Website](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWebsite-hpt-blue?style=flat-square)](https:\u002F\u002Fliruiw.github.io\u002Fhpt)\n[![Python](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-%3E=3.8-blue?style=flat-square)]()\n[![PyTorch](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPyTorch-%3E=2.0-orange?style=flat-square)]()\n\n[Lirui Wang](https:\u002F\u002Fliruiw.github.io\u002F), [Xinlei Chen](https:\u002F\u002Fxinleic.xyz\u002F), [Jialiang Zhao](https:\u002F\u002Falanz.info\u002F), [Kaiming He](https:\u002F\u002Fpeople.csail.mit.edu\u002Fkaiming\u002F)\n\nNeural Information Processing Systems (Spotlight), 2024\n\n\n\n\u003Chr style=\"border: 2px solid gray;\">\u003C\u002Fhr>\n\n\nThis is a pytorch implementation for pre-training Heterogenous Pre-trained Transformers (HPTs). The pre-training procedure train on mixture of embodiment datasets with a supervised learning objective. The pre-training process can take some time, so we also provide pre-trained checkpoints below. You can find more details on our [project page](https:\u002F\u002Fliruiw.github.io\u002Fhpt). An alternative clean implementation of HPT in Hugging Face can also be found [here](https:\u002F\u002Fgithub.com\u002Fliruiw\u002Flerobot\u002F).\n\n\n**TL;DR:** HPT aligns different embodiment to a shared latent space and investigates the scaling behaviors in policy learning. Put a scalable transformer in the middle of your policy and don’t train from scratch!\n\n\n\n\n## ⚙️ Setup\n1. ```pip install -e .```\n\n\n\u003Cdetails>\n\u003Csummary>\u003Cspan style=\"font-weight: bold;\">Install (old-version) Mujoco\u003C\u002Fspan>\u003C\u002Fsummary>\n\n```\nmkdir ~\u002F.mujoco\ncd ~\u002F.mujoco\nwget https:\u002F\u002Fmujoco.org\u002Fdownload\u002Fmujoco210-linux-x86_64.tar.gz  -O mujoco210.tar.gz --no-check-certificate\ntar -xvzf mujoco210.tar.gz\n\n# add the following line to ~\u002F.bashrc if needed\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${HOME}\u002F.mujoco\u002Fmujoco210\u002Fbin\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:\u002Fusr\u002Flib\u002Fnvidia\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:\u002Fusr\u002Flocal\u002Fcuda\u002Flib64\nexport MUJOCO_GL=egl\n```\n\n\u003C\u002Fdetails>\n\n## 🚶 Usage\n0. Check out ``quickstart.ipynb`` for how to use the pretrained HPTs.\n1. ```python -m hpt.run``` train policies on each environment. Add `+mode=debug`  for debugging.\n2. ```bash experiments\u002Fscripts\u002Fmetaworld\u002Ftrain_test_metaworld_1task.sh test test 1 +mode=debug``` for example script.\n3. Change ``train.pretrained_dir`` for loading pre-trained trunk transformer. The model can be loaded either from local checkpoint folder or huggingface [repository](https:\u002F\u002Fhuggingface.co\u002Fliruiw\u002Fhpt-xlarge).\n4. Run the following scripts for mujoco experiments.\n\n\u003Cdetails>\n  \u003Csummary>\u003Cspan style=\"font-weight: bold;\">Metaworld 20 Task Experiments\u003C\u002Fspan>\u003C\u002Fsummary>\n\n```\nbash experiments\u002Fscripts\u002Fmetaworld\u002Ftrain_test_metaworld_20task_finetune.sh hf:\u002F\u002Fliruiw\u002Fhpt-base\n```\n5. See [here](experiments\u002Fconfig\u002Fconfig.yaml) for defining and modifying the hyperparameters.\n6. We use [wandb](https:\u002F\u002Fwandb.ai\u002Fhome) to log the training process.\n\n\u003C\u002Fdetails>\n\n## 🤖 Try this On Your Own Dataset\n0. For training, it requires a dataset conversion  `convert_dataset` function for packing your own datasets. Check [this](env\u002Frealworld) for example.\n1. For evaluation, it requires a `rollout_runner.py` file for each benchmark and  a ``learner_trajectory_generator`` evaluation function that provides rollouts.\n2. If needed, modify the [config](experiments\u002Fconfigs\u002Fconfig.yaml) for changing the perception stem networks and action head networks in the models. Take a look at [`realrobot_image.yaml`](experiments\u002Fconfigs\u002Fenv\u002Frealrobot_image.yaml) for example script in the real world.\n3. Add `dataset.use_disk=True` for saving and loading the dataset in disk.\n\n## 💽 Checkpoints\nYou can find pretrained HPT checkpoints here. At the moment we provide the following model versions:\n\n| Model                                                                  |   Size         |\n|--------------------------------------------------------------------------------|----------------|\n| [HPT-XLarge](https:\u002F\u002Fhuggingface.co\u002Fliruiw\u002Fhpt-xlarge)                 |  226.8M Params  |\n| [HPT-Large](https:\u002F\u002Fhuggingface.co\u002Fliruiw\u002Fhpt-large)                 |  50.5M Params  |\n| [HPT-Base](https:\u002F\u002Fhuggingface.co\u002Fliruiw\u002Fhpt-base)                 |  12.6M Params  |\n| [HPT-Small](https:\u002F\u002Fhuggingface.co\u002Fliruiw\u002Fhpt-small)                 |  3.1M Params   |\n| [HPT-Base (With Language)](https:\u002F\u002Fhuggingface.co\u002Fliruiw\u002Fhpt-base-lang)       |  50.6M Params  |\n\n\n---\n## 💾 File Structure\n```angular2html\n├── ...\n├── HPT\n|   ├── data            # cached datasets\n|   ├── output          # trained models and figures\n|   ├── env             # environment wrappers\n|   ├── hpt             # model training and dataset source code\n|   |   ├── models      # network models\n|   |   ├── datasets    # dataset related\n|   |   ├── run         # transfer learning main loop\n|   |   ├── run_eval    # evaluation main loop\n|   |   └── ...\n|   ├── experiments     # training configs\n|   |   ├── configs     # modular configs\n└── ...\n```\n\n### 🕹️ Citation\nIf you find HPT useful in your research, please consider citing:\n```\n@inproceedings{wang2024hpt,\nauthor    = {Lirui Wang, Xinlei Chen, Jialiang Zhao, Kaiming He},\ntitle     = {Scaling Proprioceptive-Visual Learning with Heterogeneous Pre-trained Transformers},\nbooktitle = {Neurips},\nyear      = {2024}\n}\n```\n\n\n## Contact\n\nIf you have any questions, feel free to contact me through email (liruiw@mit.edu). Enjoy!\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fliruiw_HPT_readme_097d257723b3.png)\n\n\n","# 🦾 异构预训练Transformer\n[![HF模型](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97-Models-yellow?style=flat-square)](https:\u002F\u002Fhuggingface.co\u002Fliruiw\u002Fhpt-base)\n[![许可证](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-blue.svg?style=flat-square)](LICENSE)\n[![论文](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fliruiw_HPT_readme_3ffcc1639012.png)](http:\u002F\u002Farxiv.org\u002Fabs\u002F2409.20537)\n[![官网](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWebsite-hpt-blue?style=flat-square)](https:\u002F\u002Fliruiw.github.io\u002Fhpt)\n[![Python](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-%3E=3.8-blue?style=flat-square)]()\n[![PyTorch](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPyTorch-%3E=2.0-orange?style=flat-square)]()\n\n[Lirui Wang](https:\u002F\u002Fliruiw.github.io\u002F), [Xinlei Chen](https:\u002F\u002Fxinleic.xyz\u002F), [Jialiang Zhao](https:\u002F\u002Falanz.info\u002F), [Kaiming He](https:\u002F\u002Fpeople.csail.mit.edu\u002Fkaiming\u002F)\n\n神经信息处理系统会议（Spotlight），2024年\n\n\n\n\u003Chr style=\"border: 2px solid gray;\">\u003C\u002Fhr>\n\n\n这是一个用于预训练异构预训练Transformer（HPT）的PyTorch实现。预训练过程在包含多种具身数据集的混合数据上，采用监督学习目标进行训练。预训练过程可能需要一些时间，因此我们也在下方提供了预训练检查点。您可以在我们的[项目页面](https:\u002F\u002Fliruiw.github.io\u002Fhpt)上找到更多详细信息。Hugging Face中HPT的另一种简洁实现也可以在此处找到[这里](https:\u002F\u002Fgithub.com\u002Fliruiw\u002Flerobot)。\n\n\n**简而言之：** HPT将不同的具身模态对齐到一个共享的潜在空间，并研究策略学习中的可扩展性行为。只需在您的策略中加入一个可扩展的Transformer，无需从头开始训练！\n\n\n\n## ⚙️ 设置\n1. ```pip install -e .```\n\n\n\u003Cdetails>\n\u003Csummary>\u003Cspan style=\"font-weight: bold;\">安装（旧版本）Mujoco\u003C\u002Fspan>\u003C\u002Fsummary>\n\n```\nmkdir ~\u002F.mujoco\ncd ~\u002F.mujoco\nwget https:\u002F\u002Fmujoco.org\u002Fdownload\u002Fmujoco210-linux-x86_64.tar.gz  -O mujoco210.tar.gz --no-check-certificate\ntar -xvzf mujoco210.tar.gz\n\n# 如有需要，将以下行添加到~\u002F.bashrc\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${HOME}\u002F.mujoco\u002Fmujoco210\u002Fbin\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:\u002Fusr\u002Flib\u002Fnvidia\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:\u002Fusr\u002Flocal\u002Fcuda\u002Flib64\nexport MUJOCO_GL=egl\n```\n\n\u003C\u002Fdetails>\n\n## 🚶 使用方法\n0. 查看``quickstart.ipynb``以了解如何使用预训练的HPT。\n1. ```python -m hpt.run``` 在每个环境中训练策略。添加`+mode=debug`以进行调试。\n2. ```bash experiments\u002Fscripts\u002Fmetaworld\u002Ftrain_test_metaworld_1task.sh test test 1 +mode=debug``` 为示例脚本。\n3. 更改``train.pretrained_dir``以加载预训练的主干Transformer。该模型可以从本地检查点文件夹或Hugging Face的[仓库](https:\u002F\u002Fhuggingface.co\u002Fliruiw\u002Fhpt-xlarge)中加载。\n4. 运行以下脚本以进行Mujoco实验。\n\n\u003Cdetails>\n  \u003Csummary>\u003Cspan style=\"font-weight: bold;\">Metaworld 20任务实验\u003C\u002Fspan>\u003C\u002Fsummary>\n\n```\nbash experiments\u002Fscripts\u002Fmetaworld\u002Ftrain_test_metaworld_20task_finetune.sh hf:\u002F\u002Fliruiw\u002Fhpt-base\n```\n5. 参阅[此处](experiments\u002Fconfig\u002Fconfig.yaml)以定义和修改超参数。\n6. 我们使用[WandB](https:\u002F\u002Fwandb.ai\u002Fhome)记录训练过程。\n\n\u003C\u002Fdetails>\n\n## 🤖 在您自己的数据集上尝试\n0. 对于训练，需要使用`convert_dataset`函数来打包您自己的数据集。请参阅[此](env\u002Frealworld)以获取示例。\n1. 对于评估，需要为每个基准测试编写一个`rollout_runner.py`文件，以及一个提供轨迹的``learner_trajectory_generator``评估函数。\n2. 如果需要，可以修改[配置](experiments\u002Fconfigs\u002Fconfig.yaml)，以更改模型中的感知茎网络和动作头网络。请参阅[`realrobot_image.yaml`](experiments\u002Fconfigs\u002Fenv\u002Frealrobot_image.yaml)以获取现实世界中的示例脚本。\n3. 添加`dataset.use_disk=True`以将数据集保存并加载到磁盘。\n\n## 💽 检查点\n您可以在这里找到预训练的HPT检查点。目前我们提供以下模型版本：\n\n| 模型                                                                  |   大小         |\n|--------------------------------------------------------------------------------|----------------|\n| [HPT-XLarge](https:\u002F\u002Fhuggingface.co\u002Fliruiw\u002Fhpt-xlarge)                 |  226.8M 参数  |\n| [HPT-Large](https:\u002F\u002Fhuggingface.co\u002Fliruiw\u002Fhpt-large)                 |  50.5M 参数  |\n| [HPT-Base](https:\u002F\u002Fhuggingface.co\u002Fliruiw\u002Fhpt-base)                 |  12.6M 参数  |\n| [HPT-Small](https:\u002F\u002Fhuggingface.co\u002Fliruiw\u002Fhpt-small)                 |  3.1M 参数   |\n| [HPT-Base (带语言)](https:\u002F\u002Fhuggingface.co\u002Fliruiw\u002Fhpt-base-lang)       |  50.6M 参数  |\n\n\n---\n## 💾 文件结构\n```angular2html\n├── ...\n├── HPT\n|   ├── data            # 缓存的数据集\n|   ├── output          # 训练好的模型和图表\n|   ├── env             # 环境包装器\n|   ├── hpt             # 模型训练和数据集源代码\n|   |   ├── models      # 网络模型\n|   |   ├── datasets    # 数据集相关\n|   |   ├── run         # 迁移学习主循环\n|   |   ├── run_eval    # 评估主循环\n|   |   └── ...\n|   ├── experiments     # 训练配置\n|   |   ├── configs     # 模块化配置\n└── ...\n```\n\n### 🕹️ 引用\n如果您在研究中发现HPT很有用，请考虑引用：\n```\n@inproceedings{wang2024hpt,\nauthor    = {Lirui Wang, Xinlei Chen, Jialiang Zhao, Kaiming He},\ntitle     = {利用异构预训练Transformer扩展本体感觉-视觉学习},\nbooktitle = {NeurIPS},\nyear      = {2024}\n}\n```\n\n\n## 联系方式\n\n如果您有任何问题，请随时通过电子邮件（liruiw@mit.edu）与我联系。祝您使用愉快！\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fliruiw_HPT_readme_097d257723b3.png)","# HPT 快速上手指南\n\nHPT (Heterogenous Pre-trained Transformers) 是一个用于具身智能（Embodied AI）的预训练 Transformer 框架。它通过将不同的具身数据对齐到共享的潜在空间，支持策略学习的规模化扩展。本指南将帮助你快速配置环境并运行预训练模型。\n\n## 环境准备\n\n在开始之前，请确保你的开发环境满足以下要求：\n\n*   **操作系统**: Linux (推荐 Ubuntu)\n*   **Python**: >= 3.8\n*   **PyTorch**: >= 2.0\n*   **硬件**: 推荐使用 NVIDIA GPU 进行训练和推理\n*   **可选依赖**: 如果运行 Mujoco 相关实验，需安装 Mujoco 2.1.0 (详见下方安装步骤中的折叠内容)\n\n## 安装步骤\n\n### 1. 克隆代码库\n首先克隆项目代码（假设你已经获取了仓库地址）：\n```bash\ngit clone \u003Crepository_url>\ncd \u003Crepository_name>\n```\n\n### 2. 安装核心依赖\n使用 pip 以可编辑模式安装项目依赖：\n```bash\npip install -e .\n```\n\n### 3. (可选) 安装旧版 Mujoco\n如果你需要运行 Mujoco 环境的实验，请按以下步骤安装 Mujoco 2.1.0：\n\n```bash\nmkdir ~\u002F.mujoco\ncd ~\u002F.mujoco\nwget https:\u002F\u002Fmujoco.org\u002Fdownload\u002Fmujoco210-linux-x86_64.tar.gz  -O mujoco210.tar.gz --no-check-certificate\ntar -xvzf mujoco210.tar.gz\n\n# 如果需要，将以下内容添加到 ~\u002F.bashrc\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${HOME}\u002F.mujoco\u002Fmujoco210\u002Fbin\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:\u002Fusr\u002Flib\u002Fnvidia\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:\u002Fusr\u002Flocal\u002Fcuda\u002Flib64\nexport MUJOCO_GL=egl\n```\n*注：添加环境变量后，请执行 `source ~\u002F.bashrc` 使其生效。*\n\n## 基本使用\n\n### 1. 快速体验 (推荐)\n项目提供了 Jupyter Notebook 用于快速演示如何使用预训练的 HPT 模型。这是最简单的上手方式：\n\n```bash\n# 启动 Jupyter 并打开 quickstart.ipynb\njupyter notebook quickstart.ipynb\n```\n在 Notebook 中，你可以直接加载 Hugging Face 上的预训练权重并进行推理测试。\n\n### 2. 运行训练\u002F微调脚本\n你可以使用提供的命令行脚本在特定环境中训练策略或微调预训练模型。\n\n**示例：在 MetaWorld 20 任务上进行微调**\n直接使用 Hugging Face 上的 `hpt-base` 模型作为主干网络：\n\n```bash\nbash experiments\u002Fscripts\u002Fmetaworld\u002Ftrain_test_metaworld_20task_finetune.sh hf:\u002F\u002Fliruiw\u002Fhpt-base\n```\n\n**示例：调试模式运行**\n在任何训练命令后添加 `+mode=debug` 即可进入调试模式：\n\n```bash\npython -m hpt.run +mode=debug\n```\n\n### 3. 加载预训练模型\n你可以通过修改配置文件或直接指定路径来加载不同大小的预训练模型。支持的模型版本如下：\n\n| 模型名称 | 参数量 | Hugging Face 地址 |\n| :--- | :--- | :--- |\n| HPT-XLarge | 226.8M | [liruiw\u002Fhpt-xlarge](https:\u002F\u002Fhuggingface.co\u002Fliruiw\u002Fhpt-xlarge) |\n| HPT-Large | 50.5M | [liruiw\u002Fhpt-large](https:\u002F\u002Fhuggingface.co\u002Fliruiw\u002Fhpt-large) |\n| HPT-Base | 12.6M | [liruiw\u002Fhpt-base](https:\u002F\u002Fhuggingface.co\u002Fliruiw\u002Fhpt-base) |\n| HPT-Small | 3.1M | [liruiw\u002Fhpt-small](https:\u002F\u002Fhuggingface.co\u002Fliruiw\u002Fhpt-small) |\n\n在配置文件 `experiments\u002Fconfig\u002Fconfig.yaml` 中修改 `train.pretrained_dir` 即可切换模型，支持本地路径或 `hf:\u002F\u002F` 开头的 Hugging Face 仓库标识符。\n\n### 4. 监控训练过程\n项目默认使用 [Weights & Biases (wandb)](https:\u002F\u002Fwandb.ai\u002Fhome) 记录训练日志。请确保已登录 wandb 账号以便查看实时图表。","某机器人研发团队正致力于让一台机械臂快速掌握在复杂家庭环境中执行“整理桌面”、“倒水”等 20 种不同任务的能力。\n\n### 没有 HPT 时\n- **数据孤岛严重**：每种任务（如抓取杯子或折叠衣物）都需要单独采集大量专属演示数据，无法利用其他任务的现有数据，导致数据采集成本极高。\n- **训练从零开始**：为每个新任务训练策略网络时都必须从头初始化参数，模型难以理解不同物体和操作之间的共性，收敛速度极慢。\n- **泛化能力薄弱**：模型在面对未见过的物体形状或光照变化时表现僵硬，稍微调整环境设置就需要重新微调甚至重训。\n- **扩展性差**：随着任务数量增加，需要维护数十个独立的模型文件，算力资源浪费严重且部署维护困难。\n\n### 使用 HPT 后\n- **数据混合复用**：HPT 将不同形态的机器人和任务数据对齐到共享潜在空间，团队可以直接混合使用公开数据集和自有数据进行预训练，大幅减少新任务的数据需求。\n- **继承通用智能**：直接加载 HPT 预训练的 Transformer 主干网络作为策略核心，模型已具备基础的运动理解和空间推理能力，新任务仅需少量微调即可快速收敛。\n- **跨任务泛化强**：得益于异构数据的联合训练，HPT 能自动提取跨任务的通用特征，使机械臂在面对新物体或干扰时表现出更强的鲁棒性和适应性。\n- **统一架构扩展**：所有任务共享同一个可扩展的 Transformer 架构，只需调整输入提示即可切换任务，显著降低了多任务系统的部署复杂度。\n\nHPT 通过构建统一的异构预训练底座，彻底改变了机器人策略学习“一事一训”的低效模式，实现了真正的规模化智能迁移。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fliruiw_HPT_8557dad0.png","liruiw","Lirui (Leroy) Wang","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fliruiw_b75aa1f2.jpg","Foundation Model and Embodied AI. OpenAI \u002F MIT \u002F NVIDIA \u002F UW","OpenAI","San Francisco, CA",null,"LiruiWang1","liruiw.github.io","https:\u002F\u002Fgithub.com\u002Fliruiw",[26,30,34],{"name":27,"color":28,"percentage":29},"Python","#3572A5",96.9,{"name":31,"color":32,"percentage":33},"Jupyter Notebook","#DA5B0B",2.2,{"name":35,"color":36,"percentage":37},"Shell","#89e051",0.8,536,32,"2026-04-03T11:31:52","MIT",4,"Linux","需要 NVIDIA GPU（依赖 CUDA），具体型号和显存未说明，需安装 CUDA 驱动并配置 LD_LIBRARY_PATH","未说明",{"notes":47,"python":48,"dependencies":49},"1. 主要面向 Linux 环境，安装脚本中明确使用了 Linux 特定的 Mujoco 二进制文件及路径配置。\n2. 若需运行 Mujoco 相关实验，需手动下载并配置 Mujoco 210 版本，并设置环境变量（LD_LIBRARY_PATH, MUJOCO_GL=egl）。\n3. 支持从 Hugging Face 直接加载预训练模型或本地加载。\n4. 使用 wandb 记录训练过程。\n5. 自定义数据集需要编写数据转换函数和评估脚本。",">=3.8",[50,51],"torch>=2.0","mujoco==210 (可选，用于特定实验)",[53],"其他",[55,56,57,58,59],"foundation-models","heterogeneity","hpt","policy","robotics",2,"ready","2026-03-27T02:49:30.150509","2026-04-06T08:40:07.513841",[65,70,75,79,84,89,94],{"id":66,"question_zh":67,"answer_zh":68,"source_url":69},13082,"安装或运行 Mujoco 模块时遇到 AttributeError 或 ImportError 错误怎么办？","可以尝试以下解决方案：\n1. 安装 patchelf：运行 `sudo apt install patchelf` 或 `pip install patchelf`。\n2. 安装缺失的开发库和依赖：运行 `sudo apt-get install libglew-dev` 和 `pip install sentencepiece`。\n3. 重新安装 mujoco-py：有时重新安装该包可以解决问题。","https:\u002F\u002Fgithub.com\u002Fliruiw\u002FHPT\u002Fissues\u002F5",{"id":71,"question_zh":72,"answer_zh":73,"source_url":74},13083,"代码是否支持具有不同动作空间和观测空间的异构机器人？","当前仓库的代码主要关注微调，可能未完全包含处理异构机器人的预训练代码细节。建议参考 HMA 项目代码（https:\u002F\u002Fgithub.com\u002Fliruiw\u002FHMA），其中包含了预训练部分以及处理异构机器人的相关实现细节。","https:\u002F\u002Fgithub.com\u002Fliruiw\u002FHPT\u002Fissues\u002F32",{"id":76,"question_zh":77,"answer_zh":78,"source_url":74},13084,"微调（Fine-tuning）时应该训练多少个 epoch？如何防止过拟合？","微调多个 epoch 通常不会有问题。一般的建议是：先进行较长时间的训练，如果观察到过拟合现象，再减少训练次数（epochs）。",{"id":80,"question_zh":81,"answer_zh":82,"source_url":83},13085,"Cross Attention 中的位置编码（Positional Encoding）是在特征计算之前添加的，这是 Bug 吗？","这不是预训练中使用的代码逻辑。实际上，ResNet stem 在微调代码中也很少使用，代码几乎总是使用预处理过的特征。这可能是代码清理过程中引入的问题，ResNet 应该放在 encoder 中而不是 stem 中。此外，使用正弦位置编码而非可学习的位置编码没有特殊原因，用户可以自行尝试对比实验。","https:\u002F\u002Fgithub.com\u002Fliruiw\u002FHPT\u002Fissues\u002F22",{"id":85,"question_zh":86,"answer_zh":87,"source_url":88},13086,"如何配置带有语言模态（language modality）的 HPT-Base 模型？","需要在配置文件中正确定义 language stem。示例配置如下：\n```\nstem:\n  modalities: ['image', 'state', 'language']\n  crossattn_latent:\n    language: 8\n  language:\n    _target_: hpt_pretrain.models.policy_stem.MLP\n    input_dim: 768\n    output_dim: ${network.embed_dim}\n    widths: [128]\n```\n如果遇到 'Key language is not in struct' 错误，请确保添加了与 image 和 state 类似的 language 子配置。具体配置请以 README 中的最新更新为准。","https:\u002F\u002Fgithub.com\u002Fliruiw\u002FHPT\u002Fissues\u002F19",{"id":90,"question_zh":91,"answer_zh":92,"source_url":93},13087,"遇到 'tokenize_language() got an unexpected keyword argument per_token' 错误如何解决？预训练应该使用哪个配置文件？","该错误通常是由于版本不兼容导致的，可以尝试跳过该参数或检查依赖版本。\n关于预训练配置：HuggingFace 上的 repo 更适合微调和实验；如果是从头预训练，建议根据数据量选择模型大小（如从 hpt-base 或 hpt-large 开始）。预训练和迁移学习的配置存在差异（例如 embed_dim, num_blocks, drop_path 等参数），建议参考仓库中的 `experiments\u002Fconfigs\u002Fconfig.yaml` 进行预训练，并根据数据规模调整模型大小。","https:\u002F\u002Fgithub.com\u002Fliruiw\u002FHPT\u002Fissues\u002F28",{"id":95,"question_zh":96,"answer_zh":97,"source_url":98},13088,"如何可视化 Metaworld 的仿真结果并指定对应的权重模型？","虽然具体命令在评论中被截断，但通常此类问题需要运行特定的评估脚本并加载 checkpoint。建议查看项目文档或评估脚本部分，通常通过传递 `--checkpoint` 参数指定模型权重，并使用环境渲染功能（如 mujoco_py 的 render 函数或专门的可视化工具）来查看结果。","https:\u002F\u002Fgithub.com\u002Fliruiw\u002FHPT\u002Fissues\u002F25",[],[101,117,126,134,143,151],{"id":102,"name":103,"github_repo":104,"description_zh":105,"stars":106,"difficulty_score":60,"last_commit_at":107,"category_tags":108,"status":61},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[109,110,111,112,113,53,114,115,116],"图像","数据工具","视频","插件","Agent","语言模型","开发框架","音频",{"id":118,"name":119,"github_repo":120,"description_zh":121,"stars":122,"difficulty_score":123,"last_commit_at":124,"category_tags":125,"status":61},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,3,"2026-04-04T04:44:48",[113,109,115,114,53],{"id":127,"name":128,"github_repo":129,"description_zh":130,"stars":131,"difficulty_score":123,"last_commit_at":132,"category_tags":133,"status":61},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",74939,"2026-04-05T23:16:38",[114,109,115,53],{"id":135,"name":136,"github_repo":137,"description_zh":138,"stars":139,"difficulty_score":140,"last_commit_at":141,"category_tags":142,"status":61},3215,"awesome-machine-learning","josephmisiti\u002Fawesome-machine-learning","awesome-machine-learning 是一份精心整理的机器学习资源清单，汇集了全球优秀的机器学习框架、库和软件工具。面对机器学习领域技术迭代快、资源分散且难以甄选的痛点，这份清单按编程语言（如 Python、C++、Go 等）和应用场景（如计算机视觉、自然语言处理、深度学习等）进行了系统化分类，帮助使用者快速定位高质量项目。\n\n它特别适合开发者、数据科学家及研究人员使用。无论是初学者寻找入门库，还是资深工程师对比不同语言的技术选型，都能从中获得极具价值的参考。此外，清单还延伸提供了免费书籍、在线课程、行业会议、技术博客及线下聚会等丰富资源，构建了从学习到实践的全链路支持体系。\n\n其独特亮点在于严格的维护标准：明确标记已停止维护或长期未更新的项目，确保推荐内容的时效性与可靠性。作为机器学习领域的“导航图”，awesome-machine-learning 以开源协作的方式持续更新，旨在降低技术探索门槛，让每一位从业者都能高效地站在巨人的肩膀上创新。",72149,1,"2026-04-03T21:50:24",[115,53],{"id":144,"name":145,"github_repo":146,"description_zh":147,"stars":148,"difficulty_score":140,"last_commit_at":149,"category_tags":150,"status":61},2234,"scikit-learn","scikit-learn\u002Fscikit-learn","scikit-learn 是一个基于 Python 构建的开源机器学习库，依托于 SciPy、NumPy 等科学计算生态，旨在让机器学习变得简单高效。它提供了一套统一且简洁的接口，涵盖了从数据预处理、特征工程到模型训练、评估及选择的全流程工具，内置了包括线性回归、支持向量机、随机森林、聚类等在内的丰富经典算法。\n\n对于希望快速验证想法或构建原型的数据科学家、研究人员以及 Python 开发者而言，scikit-learn 是不可或缺的基础设施。它有效解决了机器学习入门门槛高、算法实现复杂以及不同模型间调用方式不统一的痛点，让用户无需重复造轮子，只需几行代码即可调用成熟的算法解决分类、回归、聚类等实际问题。\n\n其核心技术亮点在于高度一致的 API 设计风格，所有估算器（Estimator）均遵循相同的调用逻辑，极大地降低了学习成本并提升了代码的可读性与可维护性。此外，它还提供了强大的模型选择与评估工具，如交叉验证和网格搜索，帮助用户系统地优化模型性能。作为一个由全球志愿者共同维护的成熟项目，scikit-learn 以其稳定性、详尽的文档和活跃的社区支持，成为连接理论学习与工业级应用的最",65628,"2026-04-05T10:10:46",[115,53,110],{"id":152,"name":153,"github_repo":154,"description_zh":155,"stars":156,"difficulty_score":60,"last_commit_at":157,"category_tags":158,"status":61},3364,"keras","keras-team\u002Fkeras","Keras 是一个专为人类设计的深度学习框架，旨在让构建和训练神经网络变得简单直观。它解决了开发者在不同深度学习后端之间切换困难、模型开发效率低以及难以兼顾调试便捷性与运行性能的痛点。\n\n无论是刚入门的学生、专注算法的研究人员，还是需要快速落地产品的工程师，都能通过 Keras 轻松上手。它支持计算机视觉、自然语言处理、音频分析及时间序列预测等多种任务。\n\nKeras 3 的核心亮点在于其独特的“多后端”架构。用户只需编写一套代码，即可灵活选择 TensorFlow、JAX、PyTorch 或 OpenVINO 作为底层运行引擎。这一特性不仅保留了 Keras 一贯的高层易用性，还允许开发者根据需求自由选择：利用 JAX 或 PyTorch 的即时执行模式进行高效调试，或切换至速度最快的后端以获得最高 350% 的性能提升。此外，Keras 具备强大的扩展能力，能无缝从本地笔记本电脑扩展至大规模 GPU 或 TPU 集群，是连接原型开发与生产部署的理想桥梁。",63927,"2026-04-04T15:24:37",[115,110,53]]