[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-nicklashansen--tdmpc2":3,"tool-nicklashansen--tdmpc2":65},[4,23,32,40,49,57],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":22},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85267,2,"2026-04-18T11:00:28",[13,14,15,16,17,18,19,20,21],"图像","数据工具","视频","插件","Agent","其他","语言模型","开发框架","音频","ready",{"id":24,"name":25,"github_repo":26,"description_zh":27,"stars":28,"difficulty_score":29,"last_commit_at":30,"category_tags":31,"status":22},5784,"funNLP","fighting41love\u002FfunNLP","funNLP 是一个专为中文自然语言处理（NLP）打造的超级资源库，被誉为\"NLP 民工的乐园”。它并非单一的软件工具，而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。\n\n面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点，funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具，还独特地收录了丰富的垂直领域资源，如法律、医疗、金融行业的专用词库与数据集，甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性，从基础的字典词典到前沿的 BERT、GPT-2 模型代码，再到高质量的标注数据和竞赛方案，应有尽有。\n\n无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师，还是从事人工智能研究的学者，都能在这里找到急需的“武器弹药”。对于开发者而言，它能大幅减少寻找数据和复现模型的时间；对于研究者，它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神，极大地降低了中文自然语言处理的开发与研究成本，是中文 AI 社区不可或缺的宝藏仓库。",79857,1,"2026-04-08T20:11:31",[19,14,18],{"id":33,"name":34,"github_repo":35,"description_zh":36,"stars":37,"difficulty_score":29,"last_commit_at":38,"category_tags":39,"status":22},5773,"cs-video-courses","Developer-Y\u002Fcs-video-courses","cs-video-courses 是一个精心整理的计算机科学视频课程清单，旨在为自学者提供系统化的学习路径。它汇集了全球知名高校（如加州大学伯克利分校、新南威尔士大学等）的完整课程录像，涵盖从编程基础、数据结构与算法，到操作系统、分布式系统、数据库等核心领域，并深入延伸至人工智能、机器学习、量子计算及区块链等前沿方向。\n\n面对网络上零散且质量参差不齐的教学资源，cs-video-courses 解决了学习者难以找到成体系、高难度大学级别课程的痛点。该项目严格筛选内容，仅收录真正的大学层级课程，排除了碎片化的简短教程或商业广告，确保用户能接触到严谨的学术内容。\n\n这份清单特别适合希望夯实计算机基础的开发者、需要补充特定领域知识的研究人员，以及渴望像在校生一样系统学习计算机科学的自学者。其独特的技术亮点在于分类极其详尽，不仅包含传统的软件工程与网络安全，还细分了生成式 AI、大语言模型、计算生物学等新兴学科，并直接链接至官方视频播放列表，让用户能一站式获取高质量的教育资源，免费享受世界顶尖大学的课堂体验。",79792,"2026-04-08T22:03:59",[18,13,14,20],{"id":41,"name":42,"github_repo":43,"description_zh":44,"stars":45,"difficulty_score":46,"last_commit_at":47,"category_tags":48,"status":22},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",[17,13,20,19,18],{"id":50,"name":51,"github_repo":52,"description_zh":53,"stars":54,"difficulty_score":46,"last_commit_at":55,"category_tags":56,"status":22},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",75872,"2026-04-18T10:54:57",[19,13,20,18],{"id":58,"name":59,"github_repo":60,"description_zh":61,"stars":62,"difficulty_score":29,"last_commit_at":63,"category_tags":64,"status":22},3215,"awesome-machine-learning","josephmisiti\u002Fawesome-machine-learning","awesome-machine-learning 是一份精心整理的机器学习资源清单，汇集了全球优秀的机器学习框架、库和软件工具。面对机器学习领域技术迭代快、资源分散且难以甄选的痛点，这份清单按编程语言（如 Python、C++、Go 等）和应用场景（如计算机视觉、自然语言处理、深度学习等）进行了系统化分类，帮助使用者快速定位高质量项目。\n\n它特别适合开发者、数据科学家及研究人员使用。无论是初学者寻找入门库，还是资深工程师对比不同语言的技术选型，都能从中获得极具价值的参考。此外，清单还延伸提供了免费书籍、在线课程、行业会议、技术博客及线下聚会等丰富资源，构建了从学习到实践的全链路支持体系。\n\n其独特亮点在于严格的维护标准：明确标记已停止维护或长期未更新的项目，确保推荐内容的时效性与可靠性。作为机器学习领域的“导航图”，awesome-machine-learning 以开源协作的方式持续更新，旨在降低技术探索门槛，让每一位从业者都能高效地站在巨人的肩膀上创新。",72149,"2026-04-03T21:50:24",[20,18],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":81,"owner_email":82,"owner_twitter":80,"owner_website":83,"owner_url":84,"languages":85,"stars":98,"forks":99,"last_commit_at":100,"license":101,"difficulty_score":46,"env_os":102,"env_gpu":103,"env_ram":104,"env_deps":105,"category_tags":116,"github_topics":117,"view_count":10,"oss_zip_url":80,"oss_zip_packed_at":80,"status":22,"created_at":121,"updated_at":122,"faqs":123,"releases":152},9180,"nicklashansen\u002Ftdmpc2","tdmpc2","Code for \"TD-MPC2: Scalable, Robust World Models for Continuous Control\"","tdmpc2 是一款专为连续控制任务设计的可扩展、高鲁棒性模型强化学习算法开源实现。它旨在解决传统强化学习方法在面对复杂多变环境时，往往需要针对特定任务反复调整参数且难以泛化的痛点。通过构建高效的“世界模型”，tdmpc2 能够用同一套超参数在跨越多个领域的 104 个任务中取得优异表现，甚至支持训练单个拥有 3.17 亿参数的大规模智能体，同时胜任 80 种不同任务。\n\n该项目特别适合人工智能研究人员、算法工程师及强化学习开发者使用。无论是进行单任务在线训练，还是利用官方提供的 300+ 预训练模型检查点进行多任务离线研究，tdmpc2 都提供了完善的代码支持与数据集资源。其核心技术亮点在于卓越的扩展性与通用性：不仅兼容状态与像素多种观测输入，最新更新的版本还增加了对有终止条件的 episodic 任务的支持。借助 Docker 或 Conda 即可快速部署，是探索下一代基于模型的强化学习研究的有力工具。","\u003Ch1>TD-MPC2\u003C\u002Fspan>\u003C\u002Fh1>\n\nOfficial implementation of\n\n[TD-MPC2: Scalable, Robust World Models for Continuous Control](https:\u002F\u002Fwww.tdmpc2.com) by\n\n[Nicklas Hansen](https:\u002F\u002Fnicklashansen.github.io), [Hao Su](https:\u002F\u002Fcseweb.ucsd.edu\u002F~haosu)\\*, [Xiaolong Wang](https:\u002F\u002Fxiaolonw.github.io)\\* (UC San Diego)\u003C\u002Fbr>\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnicklashansen_tdmpc2_readme_ea57f907bef4.gif\" width=\"12.5%\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnicklashansen_tdmpc2_readme_ccef0861d88d.gif\" width=\"12.5%\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnicklashansen_tdmpc2_readme_cf27dd751254.gif\" width=\"12.5%\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnicklashansen_tdmpc2_readme_82ec7f6b02ee.gif\" width=\"12.5%\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnicklashansen_tdmpc2_readme_0e37ef33b6aa.gif\" width=\"12.5%\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnicklashansen_tdmpc2_readme_5655dbb17afe.gif\" width=\"12.5%\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnicklashansen_tdmpc2_readme_6fbe29f64002.gif\" width=\"12.5%\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnicklashansen_tdmpc2_readme_59018dbeb2f8.gif\" width=\"12.5%\">\u003C\u002Fbr>\n\n[[Website]](https:\u002F\u002Fwww.tdmpc2.com) [[Paper]](https:\u002F\u002Farxiv.org\u002Fabs\u002F2310.16828) [[Models]](https:\u002F\u002Fwww.tdmpc2.com\u002Fmodels)  [[Dataset]](https:\u002F\u002Fwww.tdmpc2.com\u002Fdataset)\n\n----\n\n**Announcement (Apr 2025): support for episodic tasks!**\n\nWe have added support for episodic RL (tasks with terminations) in the latest release. This functionality can be enabled with `episodic=true` but remains disabled by default to ensure reproducibility of results across releases.\n\n----\n\n\n## Overview\n\nTD-MPC**2** is a scalable, robust model-based reinforcement learning algorithm. It compares favorably to existing model-free and model-based methods across **104** continuous control tasks spanning multiple domains, with a *single* set of hyperparameters (*right*). We further demonstrate the scalability of TD-MPC**2** by training a single 317M parameter agent to perform **80** tasks across multiple domains, embodiments, and action spaces (*left*). \n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnicklashansen_tdmpc2_readme_6a1b3280cf98.png\" width=\"100%\" style=\"max-width: 640px\">\u003Cbr\u002F>\n\nThis repository contains code for training and evaluating both single-task online RL and multi-task offline RL TD-MPC**2** agents. We additionally open-source **300+** [model checkpoints](https:\u002F\u002Fwww.tdmpc2.com\u002Fmodels) (including 12 multi-task models) across 4 task domains: [DMControl](https:\u002F\u002Farxiv.org\u002Fabs\u002F1801.00690), [Meta-World](https:\u002F\u002Fmeta-world.github.io\u002F), [ManiSkill2](https:\u002F\u002Fmaniskill2.github.io\u002F), and [MyoSuite](https:\u002F\u002Fsites.google.com\u002Fview\u002Fmyosuite), as well as our [30-task and 80-task datasets](https:\u002F\u002Fwww.tdmpc2.com\u002Fdataset) used to train the multi-task models. Our codebase supports both state and pixel observations. We hope that this repository will serve as a useful community resource for future research on model-based RL.\n\n----\n\n## Getting started\n\nYou will need a machine with a GPU and at least 12 GB of RAM for single-task online RL with TD-MPC**2**, and 128 GB of RAM for multi-task offline RL on our provided 80-task dataset. A GPU with at least 8 GB of memory is recommended for single-task online RL and for evaluation of the provided multi-task models (up to 317M parameters). Training of the 317M parameter model requires a GPU with at least 24 GB of memory.\n\nWe provide a `Dockerfile` for easy installation. You can build the docker image by running\n\n```\ncd docker && docker build . -t \u003Cuser>\u002Ftdmpc2:1.0.1\n```\n\nThis docker image contains all dependencies needed for running DMControl. We also provide a pre-built docker image [here](https:\u002F\u002Fhub.docker.com\u002Frepository\u002Fdocker\u002Fnicklashansen\u002Ftdmpc2\u002Ftags\u002F1.0.1\u002Fsha256-b07d4e04d4b28ffd9a63ac18ec1541950e874bb51d276c7d09b36135f170dd93).\n\nIf you prefer to use `conda` rather than docker, start by running the following command:\n\n```\nconda env create -f docker\u002Fenvironment.yaml\n```\n\nThe `docker\u002Fenvironment.yaml` file installs dependencies required for training on DMControl tasks. Other domains can be installed by following the instructions in `docker\u002Fenvironment.yaml`.\n\nIf you want to run ManiSkill2, you will additionally need to download and link the necessary assets by running\n\n```\npython -m mani_skill2.utils.download_asset all\n```\n\nwhich downloads assets to `.\u002Fdata`. You may move these assets to any location. Then, add the following line to your `~\u002F.bashrc`:\n\n```\nexport MS2_ASSET_DIR=\u003Cpath>\u002F\u003Cto>\u002F\u003Cdata>\n```\n\nand restart your terminal. Note that Meta-World requires MuJoCo 2.1.0 and `gym==0.21.0` which is becoming increasingly difficult to install. We host the unrestricted MuJoCo 2.1.0 license (courtesy of Google DeepMind) at [https:\u002F\u002Fwww.tdmpc2.com\u002Ffiles\u002Fmjkey.txt](https:\u002F\u002Fwww.tdmpc2.com\u002Ffiles\u002Fmjkey.txt). You can download the license by running\n\n```\nwget https:\u002F\u002Fwww.tdmpc2.com\u002Ffiles\u002Fmjkey.txt -O ~\u002F.mujoco\u002Fmjkey.txt\n```\n\nDepending on your existing system packages, you may need to install other dependencies. See `docker\u002FDockerfile` for a list of recommended system packages.\n\n----\n\n## Supported tasks\n\nThis codebase provides support for all **104** continuous control tasks from **DMControl**, **Meta-World**, **ManiSkill2**, and **MyoSuite** used in our paper. Specifically, it supports 39 tasks from DMControl (including 11 custom tasks), 50 tasks from Meta-World, 5 tasks from ManiSkill2, and 10 tasks from MyoSuite, and covers all tasks used in the paper. See below table for expected name formatting for each task domain:\n\n| domain | task\n| --- | --- |\n| dmcontrol | dog-run\n| dmcontrol | cheetah-run-backwards\n| metaworld | mw-assembly\n| metaworld | mw-pick-place-wall\n| maniskill | pick-cube\n| maniskill | pick-ycb\n| myosuite  | myo-key-turn\n| myosuite  | myo-key-turn-hard\n\nwhich can be run by specifying the `task` argument for `evaluation.py`. Multi-task training and evaluation is specified by setting `task=mt80` or `task=mt30` for the 80-task and 30-task sets, respectively. While you generally do not need to access the underlying task IDs or embeddings during training or evaluation of our multi-task models, the mapping from task name to task embedding used in our work can be found [here](https:\u002F\u002Fgithub.com\u002Fnicklashansen\u002Ftdmpc2\u002Fblob\u002F7ec6bc83a82a5188ca3faddc59aea83f430ab570\u002Ftdmpc2\u002Fcommon\u002F__init__.py#L26). As of April 2025, our codebase also provides basic support for other MuJoCo\u002FBox2d Gymnasium tasks; refer to the `envs` directory for a list of tasks. It should be relatively straightforward to add support for custom tasks by following the examples in `envs`.\n\n**Note:** we also provide support for image observations in the DMControl tasks. Use argument `obs=rgb` if you wish to train visual policies.\n\n\n## Example usage\n\nWe provide examples on how to evaluate our provided TD-MPC**2** checkpoints, as well as how to train your own TD-MPC**2** agents, below.\n\n### Evaluation\n\nSee below examples on how to evaluate downloaded single-task and multi-task checkpoints.\n\n```\n$ python evaluate.py task=mt80 model_size=48 checkpoint=\u002Fpath\u002Fto\u002Fmt80-48M.pt\n$ python evaluate.py task=mt30 model_size=317 checkpoint=\u002Fpath\u002Fto\u002Fmt30-317M.pt\n$ python evaluate.py task=dog-run checkpoint=\u002Fpath\u002Fto\u002Fdog-1.pt save_video=true\n```\n\nAll single-task checkpoints expect `model_size=5`. Multi-task checkpoints are available in multiple model sizes. Available arguments are `model_size={1, 5, 19, 48, 317}`. Note that single-task evaluation of multi-task checkpoints is currently not supported. See `config.yaml` for a full list of arguments.\n\n### Training\n\nSee below examples on how to train TD-MPC**2** on a single task (online RL) and on multi-task datasets (offline RL). We recommend configuring [Weights and Biases](https:\u002F\u002Fwandb.ai) (`wandb`) in `config.yaml` to track training progress.\n\n```\n$ python train.py task=mt80 model_size=48 batch_size=1024\n$ python train.py task=mt30 model_size=317 batch_size=1024\n$ python train.py task=dog-run steps=7000000\n$ python train.py task=walker-walk obs=rgb\n```\n\nWe recommend using default hyperparameters for single-task online RL, including the default model size of 5M parameters (`model_size=5`). Multi-task offline RL benefits from a larger model size, but larger models are also increasingly costly to train and evaluate. Available arguments are `model_size={1, 5, 19, 48, 317}`. See `config.yaml` for a full list of arguments.\n\n----\n\n## Citation\n\nIf you find our work useful, please consider citing our paper as follows:\n\n```\n@inproceedings{hansen2024tdmpc2,\n  title={TD-MPC2: Scalable, Robust World Models for Continuous Control}, \n  author={Nicklas Hansen and Hao Su and Xiaolong Wang},\n  booktitle={International Conference on Learning Representations (ICLR)},\n  year={2024}\n}\n```\nas well as the original TD-MPC paper:\n```\n@inproceedings{hansen2022tdmpc,\n  title={Temporal Difference Learning for Model Predictive Control},\n  author={Nicklas Hansen and Xiaolong Wang and Hao Su},\n  booktitle={International Conference on Machine Learning (ICML)},\n  year={2022}\n}\n```\n\n----\n\n## Contributing\n\nYou are very welcome to contribute to this project. Feel free to open an issue or pull request if you have any suggestions or bug reports, but please review our [guidelines](CONTRIBUTING.md) first. Our goal is to build a codebase that can easily be extended to new environments and tasks, and we would love to hear about your experience!\n\n----\n\n## License\n\nThis project is licensed under the MIT License - see the `LICENSE` file for details. Note that the repository relies on third-party code, which is subject to their respective licenses.\n","\u003Ch1>TD-MPC2\u003C\u002Fspan>\u003C\u002Fh1>\n\n官方实现\n\n[TD-MPC2：用于连续控制的可扩展、鲁棒世界模型](https:\u002F\u002Fwww.tdmpc2.com)，由\n\n[Nicklas Hansen](https:\u002F\u002Fnicklashansen.github.io)、[Hao Su](https:\u002F\u002Fcseweb.ucsd.edu\u002F~haosu)\\*、[Xiaolong Wang](https:\u002F\u002Fxiaolonw.github.io)\\*（加州大学圣地亚哥分校）共同开发\u003C\u002Fbr>\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnicklashansen_tdmpc2_readme_ea57f907bef4.gif\" width=\"12.5%\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnicklashansen_tdmpc2_readme_ccef0861d88d.gif\" width=\"12.5%\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnicklashansen_tdmpc2_readme_cf27dd751254.gif\" width=\"12.5%\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnicklashansen_tdmpc2_readme_82ec7f6b02ee.gif\" width=\"12.5%\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnicklashansen_tdmpc2_readme_0e37ef33b6aa.gif\" width=\"12.5%\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnicklashansen_tdmpc2_readme_5655dbb17afe.gif\" width=\"12.5%\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnicklashansen_tdmpc2_readme_6fbe29f64002.gif\" width=\"12.5%\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnicklashansen_tdmpc2_readme_59018dbeb2f8.gif\" width=\"12.5%\">\u003C\u002Fbr>\n\n[[官网]](https:\u002F\u002Fwww.tdmpc2.com) [[论文]](https:\u002F\u002Farxiv.org\u002Fabs\u002F2310.16828) [[模型]](https:\u002F\u002Fwww.tdmpc2.com\u002Fmodels)  [[数据集]](https:\u002F\u002Fwww.tdmpc2.com\u002Fdataset)\n\n----\n\n**公告（2025年4月）：支持分幕任务！**\n\n我们在最新版本中新增了对分幕强化学习（具有终止状态的任务）的支持。可通过设置 `episodic=true` 来启用此功能，但默认仍为禁用状态，以确保不同版本之间结果的可复现性。\n\n----\n\n\n## 概述\n\nTD-MPC**2** 是一种可扩展、鲁棒的基于模型的强化学习算法。它在跨越多个领域的 **104** 个连续控制任务中，仅使用 *一套* 超参数，便能与现有的无模型和基于模型的方法相媲美（*右图*）。此外，我们还展示了 TD-MPC**2** 的可扩展性：通过训练一个拥有 3.17 亿参数的智能体，在多个领域、不同机器人本体和动作空间上完成 **80** 个任务（*左图*）。\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnicklashansen_tdmpc2_readme_6a1b3280cf98.png\" width=\"100%\" style=\"max-width: 640px\">\u003Cbr\u002F>\n\n本仓库包含用于训练和评估单任务在线强化学习以及多任务离线强化学习 TD-MPC**2** 智能体的代码。我们还开源了 **300+** 个 [模型检查点](https:\u002F\u002Fwww.tdmpc2.com\u002Fmodels)（包括 12 个多任务模型），涵盖 4 个任务领域：[DMControl](https:\u002F\u002Farxiv.org\u002Fabs\u002F1801.00690)、[Meta-World](https:\u002F\u002Fmeta-world.github.io\u002F)、[ManiSkill2](https:\u002F\u002Fmaniskill2.github.io\u002F) 和 [MyoSuite](https:\u002F\u002Fsites.google.com\u002Fview\u002Fmyosuite)，以及用于训练多任务模型的我们的 [30 任务和 80 任务数据集](https:\u002F\u002Fwww.tdmpc2.com\u002Fdataset)。我们的代码库同时支持状态观测和像素观测。我们希望本仓库能成为未来基于模型强化学习研究的有用社区资源。\n\n----\n\n## 快速入门\n\n运行 TD-MPC**2** 的单任务在线强化学习需要一台配备 GPU 且至少有 12 GB 内存的机器；而使用我们提供的 80 任务数据集进行多任务离线强化学习则需 128 GB 内存。对于单任务在线强化学习以及评估提供的多任务模型（最高 3.17 亿参数），建议使用显存至少为 8 GB 的 GPU。训练 3.17 亿参数的模型则需要显存至少 24 GB 的 GPU。\n\n我们提供了一个 `Dockerfile` 以便于安装。您可以通过以下命令构建 Docker 镜像：\n\n```\ncd docker && docker build . -t \u003Cuser>\u002Ftdmpc2:1.0.1\n```\n\n该 Docker 镜像包含了运行 DMControl 所需的所有依赖项。我们还在 [这里](https:\u002F\u002Fhub.docker.com\u002Frepository\u002Fdocker\u002Fnicklashansen\u002Ftdmpc2\u002Ftags\u002F1.0.1\u002Fsha256-b07d4e04d4b28ffd9a63ac18ec1541950e874bb51d276c7d09b36135f170dd93) 提供了一个预构建的 Docker 镜像。\n\n如果您更倾向于使用 `conda` 而不是 Docker，请先运行以下命令：\n\n```\nconda env create -f docker\u002Fenvironment.yaml\n```\n\n`docker\u002Fenvironment.yaml` 文件会安装训练 DMControl 任务所需的依赖。其他领域的依赖项可按照 `docker\u002Fenvironment.yaml` 中的说明进行安装。\n\n若要运行 ManiSkill2，您还需要下载并链接必要的资源，方法是运行：\n\n```\npython -m mani_skill2.utils.download_asset all\n```\n\n这会将资源下载到 `.\u002Fdata` 目录下。您可以将这些资源移动到任何位置。然后，在您的 `~\u002F.bashrc` 文件中添加以下行：\n\n```\nexport MS2_ASSET_DIR=\u003Cpath>\u002F\u003Cto>\u002F\u003Cdata>\n```\n\n并重启终端。请注意，Meta-World 需要 MuJoCo 2.1.0 和 `gym==0.21.0`，而这些软件包的安装正变得越来越困难。我们在此托管不受限制的 MuJoCo 2.1.0 许可证（由 Google DeepMind 提供），地址为 [https:\u002F\u002Fwww.tdmpc2.com\u002Ffiles\u002Fmjkey.txt](https:\u002F\u002Fwww.tdmpc2.com\u002Ffiles\u002Fmjkey.txt)。您可以通过运行以下命令下载许可证：\n\n```\nwget https:\u002F\u002Fwww.tdmpc2.com\u002Ffiles\u002Fmjkey.txt -O ~\u002F.mujoco\u002Fmjkey.txt\n```\n\n根据您现有的系统软件包情况，可能还需要安装其他依赖项。请参阅 `docker\u002FDockerfile` 以获取推荐的系统软件包列表。\n\n----\n\n## 支持的任务\n\n本代码库支持我们论文中使用的来自 **DMControl**、**Meta-World**、**ManiSkill2** 和 **MyoSuite** 的全部 **104** 个连续控制任务。具体来说，它支持 DMControl 中的 39 个任务（包括 11 个自定义任务）、Meta-World 中的 50 个任务、ManiSkill2 中的 5 个任务以及 MyoSuite 中的 10 个任务，并覆盖了论文中涉及的所有任务。以下是各任务域的预期命名格式：\n\n| 域 | 任务 |\n| --- | --- |\n| dmcontrol | dog-run |\n| dmcontrol | cheetah-run-backwards |\n| metaworld | mw-assembly |\n| metaworld | mw-pick-place-wall |\n| maniskill | pick-cube |\n| maniskill | pick-ycb |\n| myosuite  | myo-key-turn |\n| myosuite  | myo-key-turn-hard |\n\n这些任务可以通过在 `evaluation.py` 中指定 `task` 参数来运行。多任务训练和评估则分别通过设置 `task=mt80` 或 `task=mt30` 来指定 80 任务和 30 任务的数据集。虽然在训练或评估我们的多任务模型时，通常无需直接访问底层的任务 ID 或嵌入，但我们工作中使用的任务名称到任务嵌入的映射可以在 [这里](https:\u002F\u002Fgithub.com\u002Fnicklashansen\u002Ftdmpc2\u002Fblob\u002F7ec6bc83a82a5188ca3faddc59aea83f430ab570\u002Ftdmpc2\u002Fcommon\u002F__init__.py#L26)找到。截至 2025 年 4 月，我们的代码库也提供了对其他 MuJoCo\u002FBox2d Gymnasium 任务的基本支持；有关任务列表，请参阅 `envs` 目录。按照 `envs` 中的示例，添加对自定义任务的支持应该相对简单。\n\n**注意：** 我们还支持 DMControl 任务中的图像观测。如果您希望训练视觉策略，可以使用参数 `obs=rgb`。\n\n\n## 使用示例\n\n我们将在下面提供如何评估我们提供的 TD-MPC**2** 检查点，以及如何训练您自己的 TD-MPC**2** 智能体的示例。\n\n### 评估\n\n以下是一些关于如何评估已下载的单任务和多任务检查点的示例。\n\n```\n$ python evaluate.py task=mt80 model_size=48 checkpoint=\u002Fpath\u002Fto\u002Fmt80-48M.pt\n$ python evaluate.py task=mt30 model_size=317 checkpoint=\u002Fpath\u002Fto\u002Fmt30-317M.pt\n$ python evaluate.py task=dog-run checkpoint=\u002Fpath\u002Fto\u002Fdog-1.pt save_video=true\n```\n\n所有单任务检查点都期望 `model_size=5`。多任务检查点则有多种模型尺寸可供选择。可用的参数为 `model_size={1, 5, 19, 48, 317}`。请注意，目前尚不支持对多任务检查点进行单任务评估。完整的参数列表请参阅 `config.yaml`。\n\n### 训练\n\n请参阅下方示例，了解如何在单任务（在线强化学习）和多任务数据集（离线强化学习）上训练 TD-MPC**2**。我们建议在 `config.yaml` 中配置 [Weights and Biases](https:\u002F\u002Fwandb.ai) (`wandb`) 以跟踪训练进度。\n\n```\n$ python train.py task=mt80 model_size=48 batch_size=1024\n$ python train.py task=mt30 model_size=317 batch_size=1024\n$ python train.py task=dog-run steps=7000000\n$ python train.py task=walker-walk obs=rgb\n```\n\n对于单任务在线强化学习，我们推荐使用默认超参数，包括默认的 500 万参数模型规模（`model_size=5`）。多任务离线强化学习则受益于更大的模型规模，但更大的模型在训练和评估时的成本也会相应增加。可用的模型规模参数为 `model_size={1, 5, 19, 48, 317}`。完整参数列表请参阅 `config.yaml`。\n\n----\n\n## 引用\n\n如果您认为我们的工作有所帮助，请考虑按以下方式引用我们的论文：\n\n```\n@inproceedings{hansen2024tdmpc2,\n  title={TD-MPC2: 可扩展、鲁棒的连续控制世界模型}, \n  author={Nicklas Hansen 和 Hao Su 和 Xiaolong Wang},\n  booktitle={国际表征学习大会 (ICLR)},\n  year={2024}\n}\n```\n\n以及原始的 TD-MPC 论文：\n\n```\n@inproceedings{hansen2022tdmpc,\n  title={用于模型预测控制的时间差分学习},\n  author={Nicklas Hansen 和 Xiaolong Wang 和 Hao Su},\n  booktitle={国际机器学习大会 (ICML)},\n  year={2022}\n}\n```\n\n----\n\n## 贡献\n\n我们非常欢迎您为本项目做出贡献。如果您有任何建议或问题报告，欢迎随时提交议题或拉取请求，但在操作之前请先阅读我们的[贡献指南](CONTRIBUTING.md)。我们的目标是构建一个能够轻松扩展到新环境和新任务的代码库，也非常期待听到您的使用体验！\n\n----\n\n## 许可证\n\n本项目采用 MIT 许可证授权——详情请参阅 `LICENSE` 文件。请注意，该仓库依赖于第三方代码，这些代码受其各自许可证的约束。","# TD-MPC2 快速上手指南\n\nTD-MPC2 是一种可扩展且鲁棒的基于模型的强化学习算法，适用于连续控制任务。本指南将帮助你快速配置环境并运行模型。\n\n## 环境准备\n\n### 系统要求\n- **GPU**: \n  - 单任务在线训练\u002F评估：至少 8GB 显存。\n  - 多任务离线训练（317M 参数模型）：至少 24GB 显存。\n- **内存 (RAM)**:\n  - 单任务在线训练：至少 12 GB。\n  - 多任务离线训练（80 任务数据集）：至少 128 GB。\n- **操作系统**: Linux (推荐，Docker 支持最佳)。\n\n### 前置依赖\n- Docker (推荐) 或 Conda\n- NVIDIA Driver 与 CUDA Toolkit (需与 PyTorch 版本兼容)\n- Git\n\n## 安装步骤\n\n你可以选择使用 **Docker**（推荐，环境隔离好）或 **Conda** 进行安装。\n\n### 方案一：使用 Docker (推荐)\n\n1. 克隆仓库并进入 docker 目录：\n   ```bash\n   git clone https:\u002F\u002Fgithub.com\u002Fnicklashansen\u002Ftdmpc2.git\n   cd tdmpc2\u002Fdocker\n   ```\n\n2. 构建镜像：\n   ```bash\n   docker build . -t \u003Cyour_username>\u002Ftdmpc2:1.0.1\n   ```\n   *注：你也可以直接拉取预构建镜像：`docker pull nicklashansen\u002Ftdmpc2:1.0.1`*\n\n3. 运行容器（需映射当前目录以便访问代码和数据）：\n   ```bash\n   docker run --gpus all -it --rm -v $(pwd)\u002F..:\u002Fworkspace \u003Cyour_username>\u002Ftdmpc2:1.0.1 bash\n   ```\n\n### 方案二：使用 Conda\n\n1. 创建虚拟环境：\n   ```bash\n   conda env create -f docker\u002Fenvironment.yaml\n   conda activate tdmpc2\n   ```\n\n2. **额外配置 (针对 ManiSkill2 任务)**:\n   如果需要使用 ManiSkill2，需下载资源并配置环境变量：\n   ```bash\n   python -m mani_skill2.utils.download_asset all\n   ```\n   下载完成后，将资源路径添加到 `~\u002F.bashrc`：\n   ```bash\n   export MS2_ASSET_DIR=\u003Cpath>\u002F\u003Cto>\u002F\u003Cdata>\n   ```\n   然后重启终端或执行 `source ~\u002F.bashrc`。\n\n3. **额外配置 (针对 Meta-World 任务)**:\n   Meta-World 需要 MuJoCo 2.1.0。下载 License 文件：\n   ```bash\n   wget https:\u002F\u002Fwww.tdmpc2.com\u002Ffiles\u002Fmjkey.txt -O ~\u002F.mujoco\u002Fmjkey.txt\n   ```\n   *注意：确保已安装 `gym==0.21.0` 和 `mujoco-py==2.1.0`。*\n\n## 基本使用\n\n以下示例展示如何评估预训练模型和训练新代理。请确保在激活的环境或 Docker 容器中运行。\n\n### 1. 评估预训练模型 (Evaluation)\n\n评估多任务模型 (80 任务, 48M 参数)：\n```bash\npython evaluate.py task=mt80 model_size=48 checkpoint=\u002Fpath\u002Fto\u002Fmt80-48M.pt\n```\n\n评估单任务模型 (例如 dog-run) 并保存视频：\n```bash\npython evaluate.py task=dog-run checkpoint=\u002Fpath\u002Fto\u002Fdog-1.pt save_video=true\n```\n*注：单任务检查点默认 `model_size=5`；多任务检查点可选 `{1, 5, 19, 48, 317}`。*\n\n### 2. 训练新模型 (Training)\n\n训练单任务在线 RL (默认 5M 参数模型)：\n```bash\npython train.py task=dog-run steps=7000000\n```\n\n训练视觉策略 (使用 RGB 图像观测)：\n```bash\npython train.py task=walker-walk obs=rgb\n```\n\n训练多任务离线 RL (80 任务数据集)：\n```bash\npython train.py task=mt80 model_size=48 batch_size=1024\n```\n\n*提示：建议在 `config.yaml` 中配置 Weights and Biases (`wandb`) 以跟踪训练进度。*","某机器人研发团队正致力于让一台通用人形机器人在工厂环境中快速学会搬运、装配等 80 种不同的连续控制任务，且需适应从关节角度到摄像头像素等多种输入模式。\n\n### 没有 tdmpc2 时\n- **调参噩梦**：面对不同任务（如机械臂抓取 vs 双足行走），工程师需为每个任务单独调整超参数，耗时数周仍难收敛。\n- **样本效率低下**：传统无模型强化学习需要数百万次试错交互，导致真实机器人硬件磨损严重，训练周期长达数月。\n- **泛化能力缺失**：针对单一任务训练的模型无法迁移到新场景，每增加一个新动作（如“拧螺丝”）就必须重新从头训练。\n- **多模态支持困难**：难以在同一架构下同时处理低维状态数据和高分辨率像素图像，迫使团队维护两套独立的代码库。\n\n### 使用 tdmpc2 后\n- **统一超参数**：tdmpc2 凭借鲁棒的世界模型，仅用一套默认超参数即可在 104 个连续控制任务上直接运行，消除了繁琐的调优过程。\n- **高效学习**：基于模型的规划机制大幅提升了样本效率，智能体在极少交互次数下即可掌握复杂技能，显著降低硬件损耗。\n- **大规模多任务复用**：团队成功训练出一个 3.17 亿参数的单一智能体，直接覆盖 80 种跨域任务，新任务只需微调或直接推理即可上手。\n- **原生多模态兼容**：tdmpc2 天然支持状态和像素观测，团队无需改造架构即可让机器人同时利用关节传感器和视觉摄像头进行决策。\n\ntdmpc2 通过构建可扩展的鲁棒世界模型，将原本碎片化、高成本的机器人训练流程转化为统一、高效且能大规模泛化的标准化解决方案。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnicklashansen_tdmpc2_ea57f907.gif","nicklashansen","Nicklas Hansen","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fnicklashansen_ff97dc0c.png","PhD candidate @ UC San Diego.\r\nInterested in reinforcement learning, world models, and robots.",null,"San Diego, CA","hello@nicklashansen.com","nicklashansen.com","https:\u002F\u002Fgithub.com\u002Fnicklashansen",[86,90,94],{"name":87,"color":88,"percentage":89},"Python","#3572A5",98.1,{"name":91,"color":92,"percentage":93},"Dockerfile","#384d54",1.6,{"name":95,"color":96,"percentage":97},"Shell","#89e051",0.3,791,186,"2026-04-17T20:03:50","MIT","Linux","必需。单任务在线 RL 及评估多任务模型需至少 8GB 显存；训练 3.17 亿参数模型需至少 24GB 显存。","单任务在线 RL 最低 12GB；多任务离线 RL（80 任务数据集）需 128GB。",{"notes":106,"python":107,"dependencies":108},"推荐使用 Docker 或 conda 安装环境。运行 Meta-World 任务需特定版本的 MuJoCo (2.1.0) 和 gym (0.21.0)，并需下载官方 license 文件。运行 ManiSkill2 需额外下载资产文件并配置环境变量。支持状态观测和像素观测（视觉策略）。","未说明",[109,110,111,112,113,114,115],"torch","gym==0.21.0 (Meta-World 任务)","mujoco==2.1.0 (Meta-World 任务)","mani_skill2","dm_control","metaworld","myosuite",[18],[118,119,120],"reinforcement-learning","robotics","world-model","2026-03-27T02:49:30.150509","2026-04-19T03:05:56.200628",[124,129,134,139,144,148],{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},41215,"TDMPC2 中的 logprob（对数概率）计算方式与 SAC 或 torchrl 不同，这是预期的行为吗？","这是一个已知问题。原始 TDMPC2 实现中的 logprob 计算公式与标准 SAC 略有不同，主要差异在于高斯残差部分的处理（乘以了动作维度 d）。维护者已确认更新的 PyTorch 实现旨在匹配原始代码，但如果发现不一致应予以修复。目前认为这种差异对性能影响相对较小。具体的数学公式差异涉及高斯残差项是否乘以动作维度。","https:\u002F\u002Fgithub.com\u002Fnicklashansen\u002Ftdmpc2\u002Fissues\u002F44",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},41216,"加载下载的预训练检查点（checkpoint）时出现 KeyError: '__batch_size' 错误，如何解决？","该问题是因为提供的预训练检查点是在代码库重构以支持编译之前生成的，导致格式不兼容。维护者已提交修复（commit 5ced6dfeb47ea51da1246d05471ec7cac7692a3c），添加了 `api_model_conversion` 方法，该方法会自动检测并转换旧格式的检查点为新格式。请确保拉取最新代码，系统会自动处理转换。如果仍有问题，最可靠的方法是暂时回退到之前的提交版本。","https:\u002F\u002Fgithub.com\u002Fnicklashansen\u002Ftdmpc2\u002Fissues\u002F52",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},41217,"构建 Docker 镜像时遇到 LibMambaUnsatisfiableError 依赖冲突错误怎么办？","这通常是由于依赖版本未固定导致的。维护者已发布修复后的 Docker 镜像（nicklashansen\u002Ftdmpc2:1.0.0），其中包含了正确的 MuJoCo 配置和依赖版本。解决方法是拉取最新版本的镜像：`docker pull nicklashansen\u002Ftdmpc2:1.0.0`。更新后的镜像中 `.mujoco` 目录结构已修正，包含 `mjkey.txt` 和 `mujoco210` 文件夹，可解决构建失败问题。","https:\u002F\u002Fgithub.com\u002Fnicklashansen\u002Ftdmpc2\u002Fissues\u002F13",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},41218,"训练过程中报错涉及 `vmap.__wrapped__` 或 functorch 模块找不到，如何修复？","这是因为 `torch\u002Ffunctorch` 中的 `vmap.__wrapped__` 属性存在时间很短，在新版本中已被移除。维护者已通过提交（commit f3139291e2dc84a4a1bce05e8980caa3）修复了此问题，移除了相关的 `modules()` 函数调用。该部分实现对核心结果非关键，修复后已在多个任务上验证结果可复现。此外，更新后的 `environment.yaml` 文件也修复了相关的 `gym` 环境配置问题，请拉取最新代码并重新安装依赖。","https:\u002F\u002Fgithub.com\u002Fnicklashansen\u002Ftdmpc2\u002Fissues\u002F3",{"id":145,"question_zh":146,"answer_zh":147,"source_url":128},41219,"TDMPC2 的 logprob 计算公式中，高斯残差部分具体是如何计算的？与标准公式有何不同？","在原始 TDMPC2 实现中，logprob 的计算公式为：`logprobs_TDMPC2 = d * [sum(-0.5 * eps_i^2 - log(sigma_i))] - log((sqrt(2pi))^d) - sum(log(1 - a_i^2))`，其中 d 是动作维度。而标准 SAC 公式中，高斯残差部分不乘以 d，即系数为 1。区别在于 TDMPC2 原始代码在对残差求和后，又乘以了动作维度大小，这与先求和再减去常数的标准流程不同。维护者表示正在调查以确保新实现与原始意图一致。",{"id":149,"question_zh":150,"answer_zh":151,"source_url":133},41220,"如何确保能正确加载旧版本的预训练模型而不报错？","由于旧版检查点与新代码结构不兼容，直接加载会报错。最新的代码库中已经集成了自动转换机制。当你调用加载函数时，新增的 `api_model_conversion` 方法会自动识别旧格式检查点并将其转换为新格式。用户无需手动操作，只需确保使用的是包含该修复的最新版本代码（commit 5ced6dfeb47ea51da1246d05471ec7cac7692a3c 之后）。如果自动转换后结果仍无法复现，建议暂时使用旧版本代码运行。",[]]