[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-facebookresearch--metamotivo":3,"tool-facebookresearch--metamotivo":61},[4,18,26,36,44,52],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",144730,2,"2026-04-07T23:26:32",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,"2026-04-06T11:32:50",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":53,"name":54,"github_repo":55,"description_zh":56,"stars":57,"difficulty_score":10,"last_commit_at":58,"category_tags":59,"status":17},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[14,15,13,60],"视频",{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":76,"owner_twitter":76,"owner_website":77,"owner_url":78,"languages":79,"stars":88,"forks":89,"last_commit_at":90,"license":91,"difficulty_score":10,"env_os":92,"env_gpu":93,"env_ram":92,"env_deps":94,"category_tags":104,"github_topics":76,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":106,"updated_at":107,"faqs":108,"releases":144},5450,"facebookresearch\u002Fmetamotivo","metamotivo","The first behavioral foundation model to control a virtual physics-based humanoid agent for a wide range of whole-body tasks.","Meta Motivo 是由 Meta FAIR 推出的首个行为基础模型，专为控制基于物理仿真的虚拟全身人形智能体而设计。它旨在解决传统机器人控制方法泛化能力弱、难以应对复杂多变全身动作任务的难题，实现了在无需额外训练（零样本）的情况下，灵活执行行走、奔跑、跳跃等多种高难度动作。\n\n该项目主要面向人工智能研究人员、机器人学开发者以及强化学习领域的工程师。通过提供基于 PyTorch 的完整实现和多个预训练模型，Meta Motivo 让用户能够快速复现论文结果或开展新的实验。其核心技术亮点在于采用了 FB-CPR 架构，并发布了从轻量级（2450 万参数）到高性能（2.88 亿参数）的多款模型，所有模型均支持在 HumEnv 环境中进行高保真度的物理仿真与评估。\n\n用户只需简单的几行代码，即可从 Hugging Face 加载预训练模型，直接用于推理或作为基线进行二次开发。项目不仅提供了详尽的训练与评估脚本，还开放了完整的训练数据缓冲区，极大地降低了全身人形控制的研究门槛，是推动通用具身智能发展的重要开源资源。","# Meta Motivo\n**[Meta, FAIR](https:\u002F\u002Fai.facebook.com\u002Fresearch\u002F)**\n\n\n# Overview\nThis repository provides a PyTorch implementation and pre-trained models for Meta Motivo. For details see the paper [Zero-Shot Whole-Body Humanoid Control via Behavioral Foundation Models](https:\u002F\u002Fmetamotivo.metademolab.com\u002F).\n\n### Features\n\n- We provide [**6** pretrained FB-CPR](https:\u002F\u002Fhuggingface.co\u002Fcollections\u002Ffacebook\u002Fmeta-motivo-6757761e8fd4a032466fd129) models for controlling the humanoid model defined in [HumEnv](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002FHumEnv\u002F).\n- **Fully reproducible** scripts for evaluating the model in HumEnv.\n- **Fully reproducible** [FB-CPR training code in HumEnv](examples\u002Ffbcpr_train_humenv.py) for the full results in the paper, and [FB training code in DMC](examples\u002Ffb_train_dmc.py) for faster experimentation.\n\n#  Installation\n\nThe project is pip installable in your environment.\n\n```\npip install \"metamotivo[huggingface,humenv] @ git+https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmetamotivo.git\"\n```\n\nIt requires Python 3.10+. Optional dependencies include `humenv[\"bench\"]` and `huggingface_hub` for testing\u002Ftraining and loading models from HuggingFace.\n\n\n# Pretrained models\n\nFor reproducibility, we provide all the **5** models (**metamotivo-S-X**) we trained for producing the results in the [paper](https:\u002F\u002Fopenreview.net\u002Fforum?id=9sOR0nYLtz&referrer=%5BAuthor%20Console%5D(%2Fgroup%3Fid%3DICLR.cc%2F2025%2FConference%2FAuthors%23your-submissions)), where each model is trained using a different random seed. We also provide our largest and most performant model (**metamotivo-M-1**), which can also be interactively tested in our [demo](https:\u002F\u002Fmetamotivo.metademolab.com\u002F).\n\n| Model | # of params | Download |\n| :---         |     :---:      |          :---: |\n| metamotivo-S-1     |   24.5M     | [link](https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fmetamotivo-S-1)      |\n| metamotivo-S-2     |   24.5M     | [link](https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fmetamotivo-S-2)      |\n| metamotivo-S-3     |   24.5M     | [link](https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fmetamotivo-S-3)      |\n| metamotivo-S-4     |   24.5M     | [link](https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fmetamotivo-S-4)      |\n| metamotivo-S-5     |   24.5M     | [link](https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fmetamotivo-S-5)      |\n| metamotivo-M-1     |   288M      | [link](https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fmetamotivo-M-1)      |\n\n\n# Quick start\n\nOnce the library is installed, you can easily create an FB-CPR agent and download a pre-trained model from the Hugging Face hub. Note that the model is an instance of `torch.nn.Module` and by default it is initialized in \"inference\" mode (no_grad and eval mode).\n\nWe provide some simple code snippets to demonstrate how to use the model below. For more detailed examples, see our tutorials on [interacting with the model](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmetamotivo\u002Fblob\u002Fmain\u002Ftutorial.ipynb), [running an evaluation](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmetamotivo\u002Fblob\u002Fmain\u002Ftutorial_benchmark.ipynb), and [training from scratch](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmetamotivo\u002Ftree\u002Fmain\u002Fexamples).\n\n### Download the pre-trained models\n\nThe following code snippet shows how to instantiate the model. \n\n```python\nfrom metamotivo.fb_cpr.huggingface import FBcprModel\n\nmodel = FBcprModel.from_pretrained(\"facebook\u002Fmetamotivo-S-1\")\n```\n\n### Download the buffers\nFor each model we provide:\n- The training buffer (that can be used for inference or offline training)\n- A small reward inference buffer (that contains the minimum amount of information for doing reward inference)\n\n```python\nfrom huggingface_hub import hf_hub_download\nimport h5py\n\nlocal_dir = \"metamotivo-S-1-datasets\"\ndataset = \"buffer_inference_500000.hdf5\"  # a smaller buffer that can be used for reward inference\n# dataset = \"buffer.hdf5\"  # the full training buffer of the model\nbuffer_path = hf_hub_download(\n        repo_id=\"facebook\u002Fmetamotivo-S-1\",\n        filename=f\"data\u002F{dataset}\",\n        repo_type=\"model\",\n        local_dir=local_dir,\n    )\nhf = h5py.File(buffer_path, \"r\")\nprint(hf.keys())\n\n# create a DictBuffer object that can be used for sampling\ndata = {k: v[:] for k, v in hf.items()}\nbuffer = DictBuffer(capacity=data[\"qpos\"].shape[0], device=\"cpu\")\nbuffer.extend(data)\n```\n\n### The FB-CPR model\nThe FB-CPR model contains several networks:\n- forward net\n- backward net\n- critic net\n- discriminator net\n- actor net\n\nWe provide functions for evaluating these networks\n\n```python\ndef backward_map(self, obs: torch.Tensor) -> torch.Tensor: ...\ndef forward_map(self, obs: torch.Tensor, z: torch.Tensor, action: torch.Tensor) -> torch.Tensor: ...\ndef actor(self, obs: torch.Tensor, z: torch.Tensor, std: float) -> torch.Tensor: ...\ndef critic(self, obs: torch.Tensor, z: torch.Tensor, action: torch.Tensor) -> torch.Tensor: ...\ndef discriminator(self, obs: torch.Tensor, z: torch.Tensor) -> torch.Tensor: ...\n```\n\nWe also provide simple functions for prompting the model and obtaining a context vector `z` representing the task to execute.\n```python\n#reward prompt (standard and weighted regression)\ndef reward_inference(self, next_obs: torch.Tensor, reward: torch.Tensor, weight: torch.Tensor | None = None,) -> torch.Tensor: ...\ndef reward_wr_inference(self, next_obs: torch.Tensor, reward: torch.Tensor) -> torch.Tensor: ...\n#goal prompt\ndef goal_inference(self, next_obs: torch.Tensor) -> torch.Tensor: ...\n#tracking prompt\ndef tracking_inference(self, next_obs: torch.Tensor) -> torch.Tensor:\n```\nOnce we have a context vector `z` we can call the actor to get actions. We provide a function for acting in the environment with a standard interface.\n```python\ndef act(self, obs: torch.Tensor, z: torch.Tensor, mean: bool = True) -> torch.Tensor:\n```\n\nNote that these functions do not allow gradient computation and use eval mode since they are expected to be used for inference (`torch.no_grad()` and `model.eval()`). For training, you should directly access the class attributes. For training we also define target networks for the forward, backward and critic networks.\n\n\n### Execute a policy\n\nThis is the minimal example on how to execute a random policy\n\n```python\nfrom humenv import make_humenv\nfrom gymnasium.wrappers import FlattenObservation, TransformObservation\nimport torch\nfrom metamotivo.fb_cpr.huggingface import FBcprModel\n\ndevice = \"cpu\"\nenv, _ = make_humenv(\n    num_envs=1,\n    wrappers=[\n        FlattenObservation,\n        lambda env: TransformObservation(\n            env, lambda obs: torch.tensor(obs.reshape(1, -1), dtype=torch.float32, device=device), env.observation_space # For gymnasium \u003C1.0.0 remove the last argument: env.observation_space\n        ),\n    ],\n    state_init=\"Default\",\n)\n\nmodel = FBcprModel.from_pretrained(\"facebook\u002Fmetamotivo-S-1\")\nmodel.to(device)\nz = model.sample_z(1)\nobservation, _ = env.reset()\nfor i in range(10):\n    action = model.act(observation, z, mean=True)\n    observation, reward, terminated, truncated, info = env.step(action.cpu().numpy().ravel())\n```\n\n\n# Evaluation in HumEnv\n\nFor reproducibility of the paper, we provide a way of evaluating the models using `HumEnv`. We provide wrappers that can be used to interface Meta Motivo with `humenv.bench` reward, goal and tracking evaluation. \n\nHere is an example of how to use the wrappers for reward evaluation:\n\n```python\nfrom metamotivo.fb_cpr.huggingface import FBcprModel\nfrom metamotivo.wrappers.humenvbench import RewardWrapper \nimport humenv.bench\n\nmodel = FBcprModel.from_pretrained(\"facebook\u002Fmetamotivo-S-1\")\n\n# this enable reward relabeling and context inference\nmodel = RewardWrapper(\n        model=model,\n        inference_dataset=buffer, # see above how to download and create a buffer\n        num_samples_per_inference=100_000,\n        inference_function=\"reward_wr_inference\",\n        max_workers=80,\n    )\n# create the evaluation from humenv\nreward_eval = humenv.bench.RewardEvaluation(\n        tasks=[\"move-ego-0-0\"],\n        env_kwargs={\n            \"state_init\": \"Default\",\n        },\n        num_contexts=1,\n        num_envs=50,\n        num_episodes=100\n    )\nscores = reward_eval.run(model)\n```\n\nYou can do the same for the other evaluations provided in `humenv.bench`. Please refer to `tutorial_benchmark.ipynb` for a full evaluation loop.\n\n# Rendering a reward-based or tracking policy\n\nWe show how to render an episode with a reward-based policy.\n\n```python\nimport os\nos.environ[\"OMP_NUM_THREADS\"] = \"1\"\nfrom humenv import STANDARD_TASKS\nimport mediapy as media\n\ntask = STANDARD_TASKS[0]\nmodel = FBcprModel.from_pretrained(\"facebook\u002Fmetamotivo-S-1\", device=\"cpu\")\nrew_model = RewardWrapper(\n        model=model,\n        inference_dataset=buffer, # see above how to download and create a buffer\n        num_samples_per_inference=100_000,\n        inference_function=\"reward_wr_inference\",\n        max_workers=40,\n        process_executor=True,\n        process_context=\"forkserver\"\n    )\nz = rew_model.reward_inference(task)\nenv, _ = make_humenv(num_envs=1, task=task, state_init=\"DefaultAndFall\", wrappers=[gymnasium.wrappers.FlattenObservation])\ndone = False\nobservation, info = env.reset()\nframes = [env.render()]\nwhile not done:\n    obs = torch.tensor(observation.reshape(1,-1), dtype=torch.float32, device=rew_model.device)\n    action = rew_model.act(obs=obs, z=z).ravel()\n    observation, reward, terminated, truncated, info = env.step(action)\n    frames.append(env.render())\n    done = bool(terminated or truncated)\n\nmedia.show_video(frames, fps=30)\n```\n\nIt is also easy to render a policy for tracking a motion.\n\n```python\nimport os\nos.environ[\"OMP_NUM_THREADS\"] = \"1\"\nfrom metamotivo.wrappers.humenvbench import TrackingWrapper \nfrom pathlib import Path\nfrom humenv.misc.motionlib import MotionBuffer\n\nmodel = FBcprModel.from_pretrained(\"facebook\u002Fmetamotivo-S-1\", device=\"cpu\")\ntrack_model = TrackingWrapper(model=model)\nmotion_buffer = MotionBuffer(files=ADD_THE_DESIRED_MOTION, base_path=ADD_YOUR_MOTION_ROOT, keys=[\"qpos\", \"qvel\", \"observation\"])\nep_ = motion_buffer.get(motion_buffer.get_motion_ids()[0]\nctx = track_model.tracking_inference(next_obs=ep_[\"observation\"][1:])\nobservation, info = env.reset(options={\"qpos\": ep_[\"qpos\"][0], \"qvel\": ep_[\"qvel\"][0]})\ndone = False\nobservation, info = env.reset()\nframes = [env.render()]\nfor t in range(len(ctx)):\n    obs = torch.tensor(observation.reshape(1,-1), dtype=torch.float32, device=track_model.device)\n    action = track_model.act(obs=obs, z=ctx[t]).ravel()\n    observation, reward, terminated, truncated, info = env.step(action)\n    frames.append(env.render())\n\nmedia.show_video(frames, fps=30)\n```\n\n# Citation\n```\n@article{tirinzoni2024metamotivo,\n  title={Zero-shot Whole-Body Humanoid Control via Behavioral Foundation Models},\n  author={Tirinzoni, Andrea and Touati, Ahmed and Farebrother, Jesse and Guzek, Mateusz and Kanervisto, Anssi and Xu, Yingchen and Lazaric, Alessandro and Pirotta, Matteo},\n}\n```\n\n# License\n\nMeta Motivo is licensed under the CC BY-NC 4.0 license. See [LICENSE](LICENSE) for details.\n","# Meta Motivo\n**[Meta, FAIR](https:\u002F\u002Fai.facebook.com\u002Fresearch\u002F)**\n\n\n# 概述\n本仓库提供了 Meta Motivo 的 PyTorch 实现及预训练模型。详细信息请参阅论文《通过行为基础模型实现零样本全身人形机器人控制》（[链接](https:\u002F\u002Fmetamotivo.metademolab.com\u002F)）。\n\n### 特性\n\n- 我们提供了 [**6** 个预训练的 FB-CPR 模型](https:\u002F\u002Fhuggingface.co\u002Fcollections\u002Ffacebook\u002Fmeta-motivo-6757761e8fd4a032466fd129)，用于控制 [HumEnv](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002FHumEnv\u002F) 中定义的人形机器人模型。\n- **完全可复现** 的脚本，用于在 HumEnv 中评估模型。\n- **完全可复现** 的 [FB-CPR 在 HumEnv 中的训练代码](examples\u002Ffbcpr_train_humenv.py)，以复现论文中的全部结果；以及 [FB 在 DMC 中的训练代码](examples\u002Ffb_train_dmc.py)，便于更快速地进行实验。\n\n# 安装\n\n该项目可以通过 pip 直接安装到您的环境中。\n\n```\npip install \"metamotivo[huggingface,humenv] @ git+https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmetamotivo.git\"\n```\n\n它需要 Python 3.10 或更高版本。可选依赖包括 `humenv[\"bench\"]` 和 `huggingface_hub`，用于测试、训练以及从 HuggingFace 加载模型。\n\n\n# 预训练模型\n\n为确保可复现性，我们提供了所有 **5** 个模型（**metamotivo-S-X**），这些模型是我们为生成 [论文](https:\u002F\u002Fopenreview.net\u002Fforum?id=9sOR0nYLtz&referrer=%5BAuthor%20Console%5D(%2Fgroup%3Fid%3DICLR.cc%2F2025%2FConference%2FAuthors%23your-submissions)) 中的结果而训练的，每个模型使用不同的随机种子进行训练。此外，我们还提供了最大且性能最优的模型（**metamotivo-M-1**），您也可以在我们的 [演示页面](https:\u002F\u002Fmetamotivo.metademolab.com\u002F) 上对其进行交互式测试。\n\n| 模型 | 参数量 | 下载链接 |\n| :---         |     :---:      |          :---: |\n| metamotivo-S-1     |   24.5M     | [链接](https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fmetamotivo-S-1)      |\n| metamotivo-S-2     |   24.5M     | [链接](https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fmetamotivo-S-2)      |\n| metamotivo-S-3     |   24.5M     | [链接](https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fmetamotivo-S-3)      |\n| metamotivo-S-4     |   24.5M     | [链接](https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fmetamotivo-S-4)      |\n| metamotivo-S-5     |   24.5M     | [链接](https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fmetamotivo-S-5)      |\n| metamotivo-M-1     |   288M      | [链接](https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fmetamotivo-M-1)      |\n\n\n# 快速入门\n\n库安装完成后，您可以轻松创建一个 FB-CPR 代理，并从 Hugging Face 模型库下载预训练模型。请注意，该模型是 `torch.nn.Module` 的实例，默认情况下以“推理”模式初始化（即 `no_grad` 和 `eval` 模式）。\n\n我们提供了一些简单的代码片段来演示如何使用该模型。更多详细的示例，请参阅我们的教程：[与模型交互](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmetamotivo\u002Fblob\u002Fmain\u002Ftutorial.ipynb)、[运行评估](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmetamotivo\u002Fblob\u002Fmain\u002Ftutorial_benchmark.ipynb)以及 [从头开始训练](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmetamotivo\u002Ftree\u002Fmain\u002Fexamples)。\n\n### 下载预训练模型\n\n以下代码片段展示了如何实例化模型：\n\n```python\nfrom metamotivo.fb_cpr.huggingface import FBcprModel\n\nmodel = FBcprModel.from_pretrained(\"facebook\u002Fmetamotivo-S-1\")\n```\n\n### 下载缓冲区\n对于每个模型，我们提供：\n- 训练缓冲区（可用于推理或离线训练）\n- 小型奖励推理缓冲区（包含进行奖励推理所需的最少信息）\n\n```python\nfrom huggingface_hub import hf_hub_download\nimport h5py\n\nlocal_dir = \"metamotivo-S-1-datasets\"\ndataset = \"buffer_inference_500000.hdf5\"  # 可用于奖励推理的小型缓冲区\n# dataset = \"buffer.hdf5\"  # 模型的完整训练缓冲区\nbuffer_path = hf_hub_download(\n        repo_id=\"facebook\u002Fmetamotivo-S-1\",\n        filename=f\"data\u002F{dataset}\",\n        repo_type=\"model\",\n        local_dir=local_dir,\n    )\nhf = h5py.File(buffer_path, \"r\")\nprint(hf.keys())\n\n# 创建一个 DictBuffer 对象，可用于采样\ndata = {k: v[:] for k, v in hf.items()}\nbuffer = DictBuffer(capacity=data[\"qpos\"].shape[0], device=\"cpu\")\nbuffer.extend(data)\n```\n\n### FB-CPR 模型\nFB-CPR 模型包含多个网络：\n- 前向网络\n- 后向网络\n- 评论家网络\n- 判别器网络\n- 行动者网络\n\n我们提供了用于评估这些网络的函数：\n\n```python\ndef backward_map(self, obs: torch.Tensor) -> torch.Tensor: ...\ndef forward_map(self, obs: torch.Tensor, z: torch.Tensor, action: torch.Tensor) -> torch.Tensor: ...\ndef actor(self, obs: torch.Tensor, z: torch.Tensor, std: float) -> torch.Tensor: ...\ndef critic(self, obs: torch.Tensor, z: torch.Tensor, action: torch.Tensor) -> torch.Tensor: ...\ndef discriminator(self, obs: torch.Tensor, z: torch.Tensor) -> torch.Tensor: ...\n```\n\n我们还提供了简单的函数，用于向模型输入提示并获得表示要执行任务的上下文向量 `z`：\n\n```python\n# 奖励提示（标准和加权回归）\ndef reward_inference(self, next_obs: torch.Tensor, reward: torch.Tensor, weight: torch.Tensor | None = None,) -> torch.Tensor: ...\ndef reward_wr_inference(self, next_obs: torch.Tensor, reward: torch.Tensor) -> torch.Tensor: ...\n# 目标提示\ndef goal_inference(self, next_obs: torch.Tensor) -> torch.Tensor: ...\n# 跟踪提示\ndef tracking_inference(self, next_obs: torch.Tensor) -> torch.Tensor:\n```\n\n一旦我们有了上下文向量 `z`，就可以调用行动者网络来获取动作。我们提供了一个使用标准接口在环境中执行动作的函数：\n\n```python\ndef act(self, obs: torch.Tensor, z: torch.Tensor, mean: bool = True) -> torch.Tensor:\n```\n\n请注意，这些函数不允许梯度计算，并且处于评估模式，因为它们预期用于推理（`torch.no_grad()` 和 `model.eval()`）。如果需要训练，则应直接访问类的属性。此外，我们还为前向、后向和评论家网络定义了目标网络。\n\n\n### 执行策略\n\n以下是一个执行随机策略的最小示例：\n\n```python\nfrom humenv import make_humenv\nfrom gymnasium.wrappers import FlattenObservation, TransformObservation\nimport torch\nfrom metamotivo.fb_cpr.huggingface import FBcprModel\n\ndevice = \"cpu\"\nenv, _ = make_humenv(\n    num_envs=1,\n    wrappers=[\n        FlattenObservation,\n        lambda env: TransformObservation(\n            env, lambda obs: torch.tensor(obs.reshape(1, -1), dtype=torch.float32, device=device), env.observation_space # 对于 gymnasium \u003C1.0.0，请移除最后一个参数：env.observation_space\n        ),\n    ],\n    state_init=\"Default\",\n)\n\nmodel = FBcprModel.from_pretrained(\"facebook\u002Fmetamotivo-S-1\")\nmodel.to(device)\nz = model.sample_z(1)\nobservation, _ = env.reset()\nfor i in range(10):\n    action = model.act(observation, z, mean=True)\n    observation, reward, terminated, truncated, info = env.step(action.cpu().numpy().ravel())\n```\n\n# HumEnv 中的评估\n\n为确保论文的可重复性，我们提供了使用 `HumEnv` 对模型进行评估的方法。我们提供了包装器，可用于将 Meta Motivo 与 `humenv.bench` 的奖励、目标和跟踪评估相集成。\n\n以下是使用包装器进行奖励评估的示例：\n\n```python\nfrom metamotivo.fb_cpr.huggingface import FBcprModel\nfrom metamotivo.wrappers.humenvbench import RewardWrapper \nimport humenv.bench\n\nmodel = FBcprModel.from_pretrained(\"facebook\u002Fmetamotivo-S-1\")\n\n# 启用奖励重新标注和上下文推理\nmodel = RewardWrapper(\n        model=model,\n        inference_dataset=buffer, # 参见上文如何下载并创建缓冲区\n        num_samples_per_inference=100_000,\n        inference_function=\"reward_wr_inference\",\n        max_workers=80,\n    )\n# 创建 humenv 的评估\nreward_eval = humenv.bench.RewardEvaluation(\n        tasks=[\"move-ego-0-0\"],\n        env_kwargs={\n            \"state_init\": \"Default\",\n        },\n        num_contexts=1,\n        num_envs=50,\n        num_episodes=100\n    )\nscores = reward_eval.run(model)\n```\n\n您可以对 `humenv.bench` 中提供的其他评估执行相同的操作。有关完整的评估流程，请参阅 `tutorial_benchmark.ipynb`。\n\n# 渲染基于奖励或跟踪的策略\n\n我们展示了如何渲染一个基于奖励策略的 episode。\n\n```python\nimport os\nos.environ[\"OMP_NUM_THREADS\"] = \"1\"\nfrom humenv import STANDARD_TASKS\nimport mediapy as media\n\ntask = STANDARD_TASKS[0]\nmodel = FBcprModel.from_pretrained(\"facebook\u002Fmetamotivo-S-1\", device=\"cpu\")\nrew_model = RewardWrapper(\n        model=model,\n        inference_dataset=buffer, # 参见上文如何下载并创建缓冲区\n        num_samples_per_inference=100_000,\n        inference_function=\"reward_wr_inference\",\n        max_workers=40,\n        process_executor=True,\n        process_context=\"forkserver\"\n    )\nz = rew_model.reward_inference(task)\nenv, _ = make_humenv(num_envs=1, task=task, state_init=\"DefaultAndFall\", wrappers=[gymnasium.wrappers.FlattenObservation])\ndone = False\nobservation, info = env.reset()\nframes = [env.render()]\nwhile not done:\n    obs = torch.tensor(observation.reshape(1,-1), dtype=torch.float32, device=rew_model.device)\n    action = rew_model.act(obs=obs, z=z).ravel()\n    observation, reward, terminated, truncated, info = env.step(action)\n    frames.append(env.render())\n    done = bool(terminated or truncated)\n\nmedia.show_video(frames, fps=30)\n```\n\n同样，也可以轻松渲染用于跟踪运动的策略。\n\n```python\nimport os\nos.environ[\"OMP_NUM_THREADS\"] = \"1\"\nfrom metamotivo.wrappers.humenvbench import TrackingWrapper \nfrom pathlib import Path\nfrom humenv.misc.motionlib import MotionBuffer\n\nmodel = FBcprModel.from_pretrained(\"facebook\u002Fmetamotivo-S-1\", device=\"cpu\")\ntrack_model = TrackingWrapper(model=model)\nmotion_buffer = MotionBuffer(files=ADD_THE_DESIRED_MOTION, base_path=ADD_YOUR_MOTION_ROOT, keys=[\"qpos\", \"qvel\", \"observation\"])\nep_ = motion_buffer.get(motion_buffer.get_motion_ids()[0]\nctx = track_model.tracking_inference(next_obs=ep_[\"observation\"][1:])\nobservation, info = env.reset(options={\"qpos\": ep_[\"qpos\"][0], \"qvel\": ep_[\"qvel\"][0]})\ndone = False\nobservation, info = env.reset()\nframes = [env.render()]\nfor t in range(len(ctx)):\n    obs = torch.tensor(observation.reshape(1,-1), dtype=torch.float32, device=track_model.device)\n    action = track_model.act(obs=obs, z=ctx[t]).ravel()\n    observation, reward, terminated, truncated, info = env.step(action)\n    frames.append(env.render())\n\nmedia.show_video(frames, fps=30)\n```\n\n# 引用\n```\n@article{tirinzoni2024metamotivo,\n  title={Zero-shot Whole-Body Humanoid Control via Behavioral Foundation Models},\n  author={Tirinzoni, Andrea and Touati, Ahmed and Farebrother, Jesse and Guzek, Mateusz and Kanervisto, Anssi and Xu, Yingchen and Lazaric, Alessandro and Pirotta, Matteo},\n}\n```\n\n# 许可证\n\nMeta Motivo 采用 CC BY-NC 4.0 许可证授权。详情请参阅 [LICENSE](LICENSE)。","# Meta Motivo 快速上手指南\n\nMeta Motivo 是由 Meta FAIR 开源的基于行为基础模型（Behavioral Foundation Models）的人形机器人零样本控制框架。本指南帮助中国开发者快速完成环境配置并运行预训练模型。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**: Linux (推荐) 或 macOS\n*   **Python 版本**: 3.10 或更高版本\n*   **核心依赖**: PyTorch\n*   **可选依赖**:\n    *   `humenv[\"bench\"]`: 用于复现论文中的评估结果和基准测试。\n    *   `huggingface_hub`: 用于从 Hugging Face 下载预训练模型和数据缓冲区。\n\n> **注意**：由于涉及人形机器人仿真（HumEnv），建议在具备 GPU 加速的环境中进行训练或复杂推理，但基础推理可在 CPU 上运行。\n\n## 安装步骤\n\n本项目支持通过 `pip` 直接安装。推荐使用国内镜像源以加速下载过程。\n\n### 1. 基础安装\n执行以下命令安装核心库及 Hugging Face、HumEnv 相关依赖：\n\n```bash\npip install \"metamotivo[huggingface,humenv] @ git+https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmetamotivo.git\" -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n### 2. 验证安装\n安装完成后，您可以尝试导入模块来验证环境是否正常：\n\n```python\nfrom metamotivo.fb_cpr.huggingface import FBcprModel\nprint(\"Meta Motivo installed successfully!\")\n```\n\n## 基本使用\n\n以下是最小化的代码示例，演示如何加载预训练模型并在 HumEnv 环境中执行策略。\n\n### 1. 加载预训练模型\nMeta Motivo 提供了多个不同规模的预训练模型（如 `metamotivo-S-1` 到 `metamotivo-M-1`）。以下代码展示了如何从 Hugging Face Hub 下载并加载模型：\n\n```python\nfrom metamotivo.fb_cpr.huggingface import FBcprModel\n\n# 加载小型模型 metamotivo-S-1 (24.5M 参数)\nmodel = FBcprModel.from_pretrained(\"facebook\u002Fmetamotivo-S-1\")\n\n# 如果需要使用 GPU，请取消下行注释\n# model.to(\"cuda\") \n```\n\n### 2. 下载数据缓冲区 (Buffer)\n为了进行奖励推断（Reward Inference），需要下载对应的数据缓冲区文件：\n\n```python\nfrom huggingface_hub import hf_hub_download\nimport h5py\nfrom metamotivo.buffers import DictBuffer # 假设项目中包含此工具类，具体需参考官方 tutorial\n\nlocal_dir = \"metamotivo-S-1-datasets\"\ndataset = \"buffer_inference_500000.hdf5\"  # 用于奖励推断的小型缓冲区\n\n# 下载文件\nbuffer_path = hf_hub_download(\n    repo_id=\"facebook\u002Fmetamotivo-S-1\",\n    filename=f\"data\u002F{dataset}\",\n    repo_type=\"model\",\n    local_dir=local_dir,\n)\n\n# 读取并构建 Buffer 对象\nhf = h5py.File(buffer_path, \"r\")\ndata = {k: v[:] for k, v in hf.items()}\nbuffer = DictBuffer(capacity=data[\"qpos\"].shape[0], device=\"cpu\")\nbuffer.extend(data)\n```\n\n### 3. 执行策略 (最小化示例)\n以下代码展示了如何初始化环境、生成任务上下文向量 `z`，并让智能体执行动作：\n\n```python\nfrom humenv import make_humenv\nfrom gymnasium.wrappers import FlattenObservation, TransformObservation\nimport torch\n\ndevice = \"cpu\" # 或 \"cuda\"\n\n# 初始化 HumEnv 环境\nenv, _ = make_humenv(\n    num_envs=1,\n    wrappers=[\n        FlattenObservation,\n        lambda env: TransformObservation(\n            env, \n            lambda obs: torch.tensor(obs.reshape(1, -1), dtype=torch.float32, device=device), \n            env.observation_space\n        ),\n    ],\n    state_init=\"Default\",\n)\n\n# 加载模型并移至指定设备\nmodel = FBcprModel.from_pretrained(\"facebook\u002Fmetamotivo-S-1\")\nmodel.to(device)\n\n# 采样一个随机任务上下文向量 z\nz = model.sample_z(1)\n\n# 重置环境\nobservation, _ = env.reset()\n\n# 执行 10 步\nfor i in range(10):\n    # 获取动作 (mean=True 表示使用确定性策略)\n    action = model.act(observation, z, mean=True)\n    \n    # 环境步进\n    observation, reward, terminated, truncated, info = env.step(action.cpu().numpy().ravel())\n    \n    if terminated or truncated:\n        break\n```\n\n### 进阶提示\n*   **特定任务控制**：若要控制机器人完成特定任务（如“向前移动”），需使用 `RewardWrapper` 结合下载的 `buffer` 进行 `reward_inference` 来获取特定的上下文向量 `z`，而非使用随机采样的 `z`。\n*   **动作追踪**：若需让机器人模仿特定动作序列，可使用 `TrackingWrapper` 和 `tracking_inference` 方法。","某机器人实验室的研究团队正致力于开发一款能在复杂灾难现场执行搜救任务的虚拟人形机器人，需要其具备快速适应多种全身动作的能力。\n\n### 没有 metamotivo 时\n- **训练成本高昂**：针对行走、攀爬、搬运等每种新任务，团队都需从头收集数据并重新训练专用模型，耗时数周且算力消耗巨大。\n- **泛化能力受限**：传统控制器在遇到未见过地形或突发干扰时容易失衡摔倒，缺乏应对未知环境的鲁棒性。\n- **动作协调性差**：难以实现手眼脚协同的复杂全身动作，往往顾此失彼，导致任务执行效率低下。\n- **零样本迁移困难**：无法直接将模拟环境中学到的技能无缝迁移到新场景中，必须针对每个场景进行繁琐的微调。\n\n### 使用 metamotivo 后\n- **即插即用控制**：利用预训练的 behavioral foundation model，团队可直接加载模型实现零样本（Zero-Shot）控制，瞬间掌握行走、跳跃等多种技能，无需重复训练。\n- **超强环境适应**：基于物理的全身控制算法让机器人在崎岖不平的废墟上也能保持动态平衡，从容应对滑倒风险或外部撞击。\n- **全身协同作业**：metamotivo 能自然协调四肢与躯干，流畅完成“边攀爬边抓取”等高难度复合动作，大幅提升搜救成功率。\n- **通用任务覆盖**：单个模型即可覆盖广泛的全身任务库，研究人员只需更换指令即可切换任务模式，极大简化了开发流程。\n\nmetamotivo 通过将行为基础模型引入人形机器人控制，彻底改变了以往“一任务一模型”的低效范式，实现了真正通用的智能全身运动控制。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffacebookresearch_metamotivo_9c5a6ca1.png","facebookresearch","Meta Research","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ffacebookresearch_449342bd.png","",null,"https:\u002F\u002Fopensource.fb.com","https:\u002F\u002Fgithub.com\u002Ffacebookresearch",[80,84],{"name":81,"color":82,"percentage":83},"Python","#3572A5",79,{"name":85,"color":86,"percentage":87},"Jupyter Notebook","#DA5B0B",21,757,77,"2026-04-04T15:55:21","NOASSERTION","未说明","未说明 (代码示例支持 CPU 运行，但强化学习训练通常建议 GPU)",{"notes":95,"python":96,"dependencies":97},"该工具主要用于人形机器人控制研究。安装时可通过 pip 直接引用 GitHub 仓库并指定额外依赖（如 huggingface, humenv）。提供多种预训练模型（参数量从 24.5M 到 288M 不等），需从 HuggingFace 下载模型权重及对应的 HDF5 数据缓冲区（buffer）。代码示例中展示了在 CPU 上运行推理和渲染视频的流程，若进行大规模训练或评估可能需要更高性能硬件。许可证为 CC BY-NC 4.0（非商业用途）。","3.10+",[98,99,100,101,102,103],"torch","huggingface_hub","humenv","gymnasium","h5py","mediapy",[13,105],"其他","2026-03-27T02:49:30.150509","2026-04-08T17:20:28.214236",[109,114,119,124,129,134,139],{"id":110,"question_zh":111,"answer_zh":112,"source_url":113},24741,"运行训练时遇到 'Process Worker\u003CAsyncVectorEnv>-1: EOFError' 错误怎么办？","该错误通常与内存不足有关。使用完整设置运行时，建议至少配备 32GB 内存，实际上可能需要更多。请检查您的机器配置是否满足要求。","https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmetamotivo\u002Fissues\u002F19",{"id":115,"question_zh":116,"answer_zh":117,"source_url":118},24742,"论文中的 Figure 21 是如何生成的？有相关代码吗？","Figure 21 并非处理动作数据，而是对来自两个不同来源的 Z 向量（一个来自奖励函数，另一个来自使用奖励提示滚动代理获得的 Z）应用 UMAP 算法。UMAP 将高维 Z 映射到低维，同时尽量保留数据的整体结构。目前官方暂无计划公开此特定绘图代码，建议用户参考原理自行复现。","https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmetamotivo\u002Fissues\u002F11",{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},24743,"如何生成预训练模型中使用的 'buffer.hdf5' 和 'buffer_inference_500000.hdf5' 文件？","提供的训练脚本（如 fbcpr_train_humenv.py）默认可能不会直接生成这些特定的缓冲文件，或者存储位置不明显。用户需要自行修改训练脚本以添加保存 buffer 的逻辑，或者在获得预训练检查点后单独编写代码来生成全量 buffer 和子采样 buffer。已有用户通过修改脚本成功实现了本地保存 pre-trained model 并生成 buffer。","https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmetamotivo\u002Fissues\u002F29",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},24744,"Web Demo 的源代码会开源吗？其架构原理是什么？","目前暂无计划开源 Web Demo 代码，因为需要额外的内部步骤且适配开源版本工作量较大。其核心逻辑原型是使用 SocketIO + Three.js 将 MuJoCo 几何体的位置流式传输到前端。如果想在浏览器中运行，推荐使用 MuJoCo WASM 方案。官方选择基于服务器的方法是为了确保所有设备都能运行演示（无需本地进行模型推理），并减少用户需要下载的数据量（大模型超过 1GB）。","https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmetamotivo\u002Fissues\u002F9",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},24745,"如何在此框架中添加视觉信息或使用自定义机器人？","目前没有专门的教程。您可以尝试修改 `robot.xml` 文件来更改模拟的机器人（例如替换为您自己的机器人模型）。但需要注意，HumEnv 代码可能无法直接完全兼容自定义机器人，您需要仔细检查并确保正确的信息被读取和传递。","https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmetamotivo\u002Fissues\u002F5",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},24746,"Demo 网站无法访问怎么办？","这通常是暂时性的网络连接问题或服务器维护。维护者通常会调查并修复此类问题。如果遇到无法访问的情况，请稍后重试，通常会在短时间内解决。","https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmetamotivo\u002Fissues\u002F2",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},24747,"训练过程中进程在 'buffer.extend(episodes)' 处崩溃是什么原因？","这可能与 `TrajectoryBuffer` 的 `initialize_storage` 逻辑有关，可能存在分配了比实际需要多得多的内存的问题。当加载默认数据集并在运行训练脚本时发生崩溃，建议检查内存分配逻辑或确认数据加载是否正确，避免内存溢出。","https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmetamotivo\u002Fissues\u002F26",[145,150,155],{"id":146,"version":147,"summary_zh":148,"released_at":149},154233,"v0.1.2","本次发布在 HumEnv（SMPL 人体模型）中添加了 FB-CPR 的完整训练代码。\n\n## 变更内容\n* 由 @Miffyli 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmetamotivo\u002Fpull\u002F12 中添加了完整的 FB-CPR 训练代码\n\n## 新贡献者\n* @Miffyli 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmetamotivo\u002Fpull\u002F12 中完成了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmetamotivo\u002Fcompare\u002Fv0.1.1...v0.1.2","2025-01-27T12:42:57",{"id":151,"version":152,"summary_zh":153,"released_at":154},154234,"v0.1.1","## 变更内容\n* 启用 gymnasium 1.0.0，并由 @MateuszGuzek 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmetamotivo\u002Fpull\u002F4 中修复教程\n* @MateuszGuzek 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmetamotivo\u002Fpull\u002F6 中对 DMC 训练和教程基准进行了改进\n* @MateuszGuzek 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmetamotivo\u002Fpull\u002F7 中修复了包装器和缓冲区\n* 版本 v0.1.1 由 @MateuszGuzek 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmetamotivo\u002Fpull\u002F8 中发布\n\n## 新贡献者\n* @MateuszGuzek 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmetamotivo\u002Fpull\u002F4 中完成了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmetamotivo\u002Fcompare\u002Fv0.1.0...v0.1.1","2024-12-20T16:32:33",{"id":156,"version":157,"summary_zh":76,"released_at":158},154235,"v0.1.0","2024-12-16T21:51:25"]