[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-Mael-zys--T2M-GPT":3,"tool-Mael-zys--T2M-GPT":61},[4,18,26,36,44,53],{"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 真正成长为懂上",148568,2,"2026-04-09T23:34:24",[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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108111,"2026-04-08T11:23:26",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"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":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":78,"owner_email":78,"owner_twitter":78,"owner_website":78,"owner_url":79,"languages":80,"stars":89,"forks":90,"last_commit_at":91,"license":92,"difficulty_score":10,"env_os":93,"env_gpu":94,"env_ram":95,"env_deps":96,"category_tags":107,"github_topics":109,"view_count":32,"oss_zip_url":78,"oss_zip_packed_at":78,"status":17,"created_at":113,"updated_at":114,"faqs":115,"releases":151},6134,"Mael-zys\u002FT2M-GPT","T2M-GPT","(CVPR 2023) Pytorch implementation of “T2M-GPT: Generating Human Motion from Textual Descriptions with Discrete Representations”","T2M-GPT 是一款基于深度学习的开源工具，专注于将自然语言描述转化为逼真的人体动作序列。只需输入如“一个人向前迈步并倒立”这样的文字指令，它就能自动生成对应的 3D 人体运动数据。\n\n该工具主要解决了传统方法在生成动作时流畅度不足、细节缺失或与文本语义对齐不准的难题。通过对比展示，T2M-GPT 生成的动作在连贯性和对复杂指令的理解上，表现优于 T2M、MDM 等前代技术，能够更精准地还原起立、绕行、坐下等连续且复杂的肢体行为。\n\n其核心技术亮点在于创新性地采用了“离散表示”策略，结合 GPT 架构来处理运动数据。这种方法将连续的动作信号转化为离散的令牌序列，使得模型能够像处理语言一样高效地学习和生成运动模式，显著提升了生成质量和多样性。\n\nT2M-GPT 非常适合计算机视觉与图形学领域的研究人员、AI 开发者以及动画制作专业人士使用。研究人员可利用其 PyTorch 实现进行算法对比与创新；开发者可以基于提供的 Colab 演示和 HuggingFace 接口快速集成应用；动画师则能将其作为辅助工具，通过文本快速原型化角色动作，大幅降低关键帧动画的制作门槛。项目提供了完整的训练、","T2M-GPT 是一款基于深度学习的开源工具，专注于将自然语言描述转化为逼真的人体动作序列。只需输入如“一个人向前迈步并倒立”这样的文字指令，它就能自动生成对应的 3D 人体运动数据。\n\n该工具主要解决了传统方法在生成动作时流畅度不足、细节缺失或与文本语义对齐不准的难题。通过对比展示，T2M-GPT 生成的动作在连贯性和对复杂指令的理解上，表现优于 T2M、MDM 等前代技术，能够更精准地还原起立、绕行、坐下等连续且复杂的肢体行为。\n\n其核心技术亮点在于创新性地采用了“离散表示”策略，结合 GPT 架构来处理运动数据。这种方法将连续的动作信号转化为离散的令牌序列，使得模型能够像处理语言一样高效地学习和生成运动模式，显著提升了生成质量和多样性。\n\nT2M-GPT 非常适合计算机视觉与图形学领域的研究人员、AI 开发者以及动画制作专业人士使用。研究人员可利用其 PyTorch 实现进行算法对比与创新；开发者可以基于提供的 Colab 演示和 HuggingFace 接口快速集成应用；动画师则能将其作为辅助工具，通过文本快速原型化角色动作，大幅降低关键帧动画的制作门槛。项目提供了完整的训练、评估及渲染流程，便于用户在单张 GPU 环境下复现结果或开展二次开发。","# (CVPR 2023) T2M-GPT\nPytorch implementation of paper \"T2M-GPT: Generating Human Motion from Textual Descriptions with Discrete Representations\"\n\n\n[[Project Page]](https:\u002F\u002Fmael-zys.github.io\u002FT2M-GPT\u002F) [[Paper]](https:\u002F\u002Farxiv.org\u002Fabs\u002F2301.06052) [[Notebook Demo]](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1Vy69w2q2d-Hg19F-KibqG0FRdpSj3L4O?usp=sharing) [[HuggingFace]](https:\u002F\u002Fhuggingface.co\u002Fvumichien\u002FT2M-GPT) [[Space Demo]](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fvumichien\u002Fgenerate_human_motion) [[T2M-GPT+]](https:\u002F\u002Fgithub.com\u002FMael-zys\u002FT2M-GPT-plus)\n\n\n\u003Cp align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_dd7b88e19da1.png\" width=\"600px\" alt=\"teaser\">\n\u003C\u002Fp>\n\nIf our project is helpful for your research, please consider citing :\n``` \n@inproceedings{zhang2023generating,\n  title={T2M-GPT: Generating Human Motion from Textual Descriptions with Discrete Representations},\n  author={Zhang, Jianrong and Zhang, Yangsong and Cun, Xiaodong and Huang, Shaoli and Zhang, Yong and Zhao, Hongwei and Lu, Hongtao and Shen, Xi},\n  booktitle={Proceedings of the IEEE\u002FCVF Conference on Computer Vision and Pattern Recognition (CVPR)},\n  year={2023},\n}\n```\n\n\n## Table of Content\n* [1. Visual Results](#1-visual-results)\n* [2. Installation](#2-installation)\n* [3. Quick Start](#3-quick-start)\n* [4. Train](#4-train)\n* [5. Evaluation](#5-evaluation)\n* [6. SMPL Mesh Rendering](#6-smpl-mesh-rendering)\n* [7. Acknowledgement](#7-acknowledgement)\n* [8. ChangLog](#8-changlog)\n\n\n\n\n## 1. Visual Results (More results can be found in our [project page](https:\u002F\u002Fmael-zys.github.io\u002FT2M-GPT\u002F))\n\n\u003C!-- ![visualization](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_db6f638ba511.png) -->\n\n\u003Cp align=\"center\">\n\u003Ctable>\n  \u003Ctr>\n    \u003Cth colspan=\"5\">Text: a man steps forward and does a handstand.\u003C\u002Fth>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Cth>GT\u003C\u002Fth>\n    \u003Cth>\u003Cu>\u003Ca href=\"https:\u002F\u002Fericguo5513.github.io\u002Ftext-to-motion\u002F\">\u003Cnobr>T2M\u003C\u002Fnobr> \u003C\u002Fa>\u003C\u002Fu>\u003C\u002Fth>\n    \u003Cth>\u003Cu>\u003Ca href=\"https:\u002F\u002Fguytevet.github.io\u002Fmdm-page\u002F\">\u003Cnobr>MDM\u003C\u002Fnobr> \u003C\u002Fa>\u003C\u002Fu>\u003C\u002Fth>\n    \u003Cth>\u003Cu>\u003Ca href=\"https:\u002F\u002Fmingyuan-zhang.github.io\u002Fprojects\u002FMotionDiffuse.html\">\u003Cnobr>MotionDiffuse\u003C\u002Fnobr> \u003C\u002Fa>\u003C\u002Fu>\u003C\u002Fth>\n    \u003Cth>Ours\u003C\u002Fth>\n  \u003C\u002Ftr>\n  \n  \u003Ctr>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_e5bfcdb047de.gif\" width=\"140px\" alt=\"gif\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_33248a2c0b6a.gif\" width=\"140px\" alt=\"gif\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_f83c6a35af65.gif\" width=\"140px\" alt=\"gif\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_a9750576dd6e.gif\" width=\"140px\" alt=\"gif\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_3c2d922b52d4.gif\" width=\"140px\" alt=\"gif\">\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\n  \u003Ctr>\n    \u003Cth colspan=\"5\">Text: A man rises from the ground, walks in a circle and sits back down on the ground.\u003C\u002Fth>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Cth>GT\u003C\u002Fth>\n    \u003Cth>\u003Cu>\u003Ca href=\"https:\u002F\u002Fericguo5513.github.io\u002Ftext-to-motion\u002F\">\u003Cnobr>T2M\u003C\u002Fnobr> \u003C\u002Fa>\u003C\u002Fu>\u003C\u002Fth>\n    \u003Cth>\u003Cu>\u003Ca href=\"https:\u002F\u002Fguytevet.github.io\u002Fmdm-page\u002F\">\u003Cnobr>MDM\u003C\u002Fnobr> \u003C\u002Fa>\u003C\u002Fu>\u003C\u002Fth>\n    \u003Cth>\u003Cu>\u003Ca href=\"https:\u002F\u002Fmingyuan-zhang.github.io\u002Fprojects\u002FMotionDiffuse.html\">\u003Cnobr>MotionDiffuse\u003C\u002Fnobr> \u003C\u002Fa>\u003C\u002Fu>\u003C\u002Fth>\n    \u003Cth>Ours\u003C\u002Fth>\n  \u003C\u002Ftr>\n  \n  \u003Ctr>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_233c76f37013.gif\" width=\"140px\" alt=\"gif\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_5315fd58da62.gif\" width=\"140px\" alt=\"gif\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_33626fffefee.gif\" width=\"140px\" alt=\"gif\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_9b5ef4e8ed5e.gif\" width=\"140px\" alt=\"gif\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_d2f47d1cbdfa.gif\" width=\"140px\" alt=\"gif\">\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\u003C\u002Fp>\n \n## 2. Installation\n\n### 2.1. Environment\n\n\nOur model can be learnt in a **single GPU V100-32G**\n\n```bash\nconda env create -f environment.yml\nconda activate T2M-GPT\n```\n\nThe code was tested on Python 3.8 and PyTorch 1.8.1.\n\n\n### 2.2. Dependencies\n\n```bash\nbash dataset\u002Fprepare\u002Fdownload_glove.sh\n```\n\n\n### 2.3. Datasets\n\n\nWe are using two 3D human motion-language dataset: HumanML3D and KIT-ML. For both datasets, you could find the details as well as download link [[here]](https:\u002F\u002Fgithub.com\u002FEricGuo5513\u002FHumanML3D).   \n\nTake HumanML3D for an example, the file directory should look like this:  \n```\n.\u002Fdataset\u002FHumanML3D\u002F\n├── new_joint_vecs\u002F\n├── texts\u002F\n├── Mean.npy # same as in [HumanML3D](https:\u002F\u002Fgithub.com\u002FEricGuo5513\u002FHumanML3D) \n├── Std.npy # same as in [HumanML3D](https:\u002F\u002Fgithub.com\u002FEricGuo5513\u002FHumanML3D) \n├── train.txt\n├── val.txt\n├── test.txt\n├── train_val.txt\n└── all.txt\n```\n\n\n### 2.4. Motion & text feature extractors:\n\nWe use the same extractors provided by [t2m](https:\u002F\u002Fgithub.com\u002FEricGuo5513\u002Ftext-to-motion) to evaluate our generated motions. Please download the extractors.\n\n```bash\nbash dataset\u002Fprepare\u002Fdownload_extractor.sh\n```\n\n### 2.5. Pre-trained models \n\nThe pretrained model files will be stored in the 'pretrained' folder:\n```bash\nbash dataset\u002Fprepare\u002Fdownload_model.sh\n```\n\n\n### 2.6. Render SMPL mesh (optional)\n\nIf you want to render the generated motion, you need to install:\n\n```bash\nsudo sh dataset\u002Fprepare\u002Fdownload_smpl.sh\nconda install -c menpo osmesa\nconda install h5py\nconda install -c conda-forge shapely pyrender trimesh mapbox_earcut\n```\n\n\n\n## 3. Quick Start\n\nA quick start guide of how to use our code is available in [demo.ipynb](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1Vy69w2q2d-Hg19F-KibqG0FRdpSj3L4O?usp=sharing)\n\n\u003Cp align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_c07f2fb6cce6.png\" width=\"400px\" alt=\"demo\">\n\u003C\u002Fp>\n\n\n## 4. Train\n\nNote that, for kit dataset, just need to set '--dataname kit'.\n\n### 4.1. VQ-VAE \n\nThe results are saved in the folder output.\n\n\u003Cdetails>\n\u003Csummary>\nVQ training\n\u003C\u002Fsummary>\n\n```bash\npython3 train_vq.py \\\n--batch-size 256 \\\n--lr 2e-4 \\\n--total-iter 300000 \\\n--lr-scheduler 200000 \\\n--nb-code 512 \\\n--down-t 2 \\\n--depth 3 \\\n--dilation-growth-rate 3 \\\n--out-dir output \\\n--dataname t2m \\\n--vq-act relu \\\n--quantizer ema_reset \\\n--loss-vel 0.5 \\\n--recons-loss l1_smooth \\\n--exp-name VQVAE\n```\n\n\u003C\u002Fdetails>\n\n### 4.2. GPT \n\nThe results are saved in the folder output.\n\n\u003Cdetails>\n\u003Csummary>\nGPT training\n\u003C\u002Fsummary>\n\n```bash\npython3 train_t2m_trans.py  \\\n--exp-name GPT \\\n--batch-size 128 \\\n--num-layers 9 \\\n--embed-dim-gpt 1024 \\\n--nb-code 512 \\\n--n-head-gpt 16 \\\n--block-size 51 \\\n--ff-rate 4 \\\n--drop-out-rate 0.1 \\\n--resume-pth output\u002FVQVAE\u002Fnet_last.pth \\\n--vq-name VQVAE \\\n--out-dir output \\\n--total-iter 300000 \\\n--lr-scheduler 150000 \\\n--lr 0.0001 \\\n--dataname t2m \\\n--down-t 2 \\\n--depth 3 \\\n--quantizer ema_reset \\\n--eval-iter 10000 \\\n--pkeep 0.5 \\\n--dilation-growth-rate 3 \\\n--vq-act relu\n```\n\n\u003C\u002Fdetails>\n\n## 5. Evaluation \n\n### 5.1. VQ-VAE \n\u003Cdetails>\n\u003Csummary>\nVQ eval\n\u003C\u002Fsummary>\n\n```bash\npython3 VQ_eval.py \\\n--batch-size 256 \\\n--lr 2e-4 \\\n--total-iter 300000 \\\n--lr-scheduler 200000 \\\n--nb-code 512 \\\n--down-t 2 \\\n--depth 3 \\\n--dilation-growth-rate 3 \\\n--out-dir output \\\n--dataname t2m \\\n--vq-act relu \\\n--quantizer ema_reset \\\n--loss-vel 0.5 \\\n--recons-loss l1_smooth \\\n--exp-name TEST_VQVAE \\\n--resume-pth output\u002FVQVAE\u002Fnet_last.pth\n```\n\n\u003C\u002Fdetails>\n\n### 5.2. GPT\n\n\u003Cdetails>\n\u003Csummary>\nGPT eval\n\u003C\u002Fsummary>\n\nFollow the evaluation setting of [text-to-motion](https:\u002F\u002Fgithub.com\u002FEricGuo5513\u002Ftext-to-motion), we evaluate our model 20 times and report the average result. Due to the multimodality part where we should generate 30 motions from the same text, the evaluation takes a long time.\n\n```bash\npython3 GPT_eval_multi.py  \\\n--exp-name TEST_GPT \\\n--batch-size 128 \\\n--num-layers 9 \\\n--embed-dim-gpt 1024 \\\n--nb-code 512 \\\n--n-head-gpt 16 \\\n--block-size 51 \\\n--ff-rate 4 \\\n--drop-out-rate 0.1 \\\n--resume-pth output\u002FVQVAE\u002Fnet_last.pth \\\n--vq-name VQVAE \\\n--out-dir output \\\n--total-iter 300000 \\\n--lr-scheduler 150000 \\\n--lr 0.0001 \\\n--dataname t2m \\\n--down-t 2 \\\n--depth 3 \\\n--quantizer ema_reset \\\n--eval-iter 10000 \\\n--pkeep 0.5 \\\n--dilation-growth-rate 3 \\\n--vq-act relu \\\n--resume-trans output\u002FGPT\u002Fnet_best_fid.pth\n```\n\n\u003C\u002Fdetails>\n\n\n## 6. SMPL Mesh Rendering \n\n\u003Cdetails>\n\u003Csummary>\nSMPL Mesh Rendering \n\u003C\u002Fsummary>\n\nYou should input the npy folder address and the motion names. Here is an example:\n\n```bash\npython3 render_final.py --filedir output\u002FTEST_GPT\u002F --motion-list 000019 005485\n```\n\n\u003C\u002Fdetails>\n\n### 7. Acknowledgement\n\nWe appreciate helps from :  \n\n* public code like [text-to-motion](https:\u002F\u002Fgithub.com\u002FEricGuo5513\u002Ftext-to-motion), [TM2T](https:\u002F\u002Fgithub.com\u002FEricGuo5513\u002FTM2T), [MDM](https:\u002F\u002Fgithub.com\u002FGuyTevet\u002Fmotion-diffusion-model), [MotionDiffuse](https:\u002F\u002Fgithub.com\u002Fmingyuan-zhang\u002FMotionDiffuse) etc.\n* \u003Ca href='https:\u002F\u002Fmathis.petrovich.fr\u002F'>Mathis Petrovich\u003C\u002Fa>, \u003Ca href='https:\u002F\u002Fdulucas.github.io\u002F'>Yuming Du\u003C\u002Fa>, \u003Ca href='https:\u002F\u002Fgithub.com\u002Fyingyichen-cyy'>Yingyi Chen\u003C\u002Fa>, \u003Ca href='https:\u002F\u002Fdexiong.me\u002F'>Dexiong Chen\u003C\u002Fa> and \u003Ca href='https:\u002F\u002Fxuelin-chen.github.io\u002F'>Xuelin Chen\u003C\u002Fa> for inspiring discussions and valuable feedback.\n* \u003Ca href='https:\u002F\u002Fgithub.com\u002Fvumichien'>Minh Chien Vu\u003C\u002Fa> for the hugging face space demo.\n\n### 8. ChangLog\n\n* 2023\u002F02\u002F19 add the hugging face space demo for both skelton and SMPL mesh visualization.\n","# (CVPR 2023) T2M-GPT\n论文“T2M-GPT：基于离散表示从文本描述生成人体运动”的 PyTorch 实现\n\n\n[[项目页面]](https:\u002F\u002Fmael-zys.github.io\u002FT2M-GPT\u002F) [[论文]](https:\u002F\u002Farxiv.org\u002Fabs\u002F2301.06052) [[Notebook 演示]](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1Vy69w2q2d-Hg19F-KibqG0FRdpSj3L4O?usp=sharing) [[HuggingFace]](https:\u002F\u002Fhuggingface.co\u002Fvumichien\u002FT2M-GPT) [[Space 演示]](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fvumichien\u002Fgenerate_human_motion) [[T2M-GPT+]](https:\u002F\u002Fgithub.com\u002FMael-zys\u002FT2M-GPT-plus)\n\n\n\u003Cp align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_dd7b88e19da1.png\" width=\"600px\" alt=\"teaser\">\n\u003C\u002Fp>\n\n如果我们的项目对您的研究有所帮助，请考虑引用：\n``` \n@inproceedings{zhang2023generating,\n  title={T2M-GPT: Generating Human Motion from Textual Descriptions with Discrete Representations},\n  author={Zhang, Jianrong and Zhang, Yangsong and Cun, Xiaodong and Huang, Shaoli and Zhang, Yong and Zhao, Hongwei and Lu, Hongtao and Shen, Xi},\n  booktitle={Proceedings of the IEEE\u002FCVF Conference on Computer Vision and Pattern Recognition (CVPR)},\n  year={2023},\n}\n```\n\n\n## 目录\n* [1. 可视化结果](#1-visual-results)\n* [2. 安装](#2-installation)\n* [3. 快速入门](#3-quick-start)\n* [4. 训练](#4-train)\n* [5. 评估](#5-evaluation)\n* [6. SMPL 网格渲染](#6-smpl-mesh-rendering)\n* [7. 致谢](#7-acknowledgement)\n* [8. 更改记录](#8-changlog)\n\n\n\n\n## 1. 可视化结果（更多结果可在我们的[项目页面](https:\u002F\u002Fmael-zys.github.io\u002FT2M-GPT\u002F)中找到）\n\n\u003C!-- ![visualization](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_db6f638ba511.png) -->\n\n\u003Cp align=\"center\">\n\u003Ctable>\n  \u003Ctr>\n    \u003Cth colspan=\"5\">文本：一名男子向前迈步并做倒立。\u003C\u002Fth>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Cth>真实标签\u003C\u002Fth>\n    \u003Cth>\u003Cu>\u003Ca href=\"https:\u002F\u002Fericguo5513.github.io\u002Ftext-to-motion\u002F\">\u003Cnobr>T2M\u003C\u002Fnobr> \u003C\u002Fa>\u003C\u002Fu>\u003C\u002Fth>\n    \u003Cth>\u003Cu>\u003Ca href=\"https:\u002F\u002Fguytevet.github.io\u002Fmdm-page\u002F\">\u003Cnobr>MDM\u003C\u002Fnobr> \u003C\u002Fa>\u003C\u002Fu>\u003C\u002Fth>\n    \u003Cth>\u003Cu>\u003Ca href=\"https:\u002F\u002Fmingyuan-zhang.github.io\u002Fprojects\u002FMotionDiffuse.html\">\u003Cnobr>MotionDiffuse\u003C\u002Fnobr> \u003C\u002Fa>\u003C\u002Fu>\u003C\u002Fth>\n    \u003Cth>我们的方法\u003C\u002Fth>\n  \u003C\u002Ftr>\n  \n  \u003Ctr>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_e5bfcdb047de.gif\" width=\"140px\" alt=\"gif\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_33248a2c0b6a.gif\" width=\"140px\" alt=\"gif\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_f83c6a35af65.gif\" width=\"140px\" alt=\"gif\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_a9750576dd6e.gif\" width=\"140px\" alt=\"gif\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_3c2d922b52d4.gif\" width=\"140px\" alt=\"gif\">\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\n  \u003Ctr>\n    \u003Cth colspan=\"5\">文本：一名男子从地上起身，绕圈行走，然后重新坐回地上。\u003C\u002Fth>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Cth>真实标签\u003C\u002Fth>\n    \u003Cth>\u003Cu>\u003Ca href=\"https:\u002F\u002Fericguo5513.github.io\u002Ftext-to-motion\u002F\">\u003Cnobr>T2M\u003C\u002Fnobr> \u003C\u002Fa>\u003C\u002Fu>\u003C\u002Fth>\n    \u003Cth>\u003Cu>\u003Ca href=\"https:\u002F\u002Fguytevet.github.io\u002Fmdm-page\u002F\">\u003Cnobr>MDM\u003C\u002Fnobr> \u003C\u002Fa>\u003C\u002Fu>\u003C\u002Fth>\n    \u003Cth>\u003Cu>\u003Ca href=\"https:\u002F\u002Fmingyuan-zhang.github.io\u002Fprojects\u002FMotionDiffuse.html\">\u003Cnobr>MotionDiffuse\u003C\u002Fnobr> \u003C\u002Fa>\u003C\u002Fu>\u003C\u002Fth>\n    \u003Cth>我们的方法\u003C\u002Fth>\n  \u003C\u002Ftr>\n  \n  \u003Ctr>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_233c76f37013.gif\" width=\"140px\" alt=\"gif\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_5315fd58da62.gif\" width=\"140px\" alt=\"gif\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_33626fffefee.gif\" width=\"140px\" alt=\"gif\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_9b5ef4e8ed5e.gif\" width=\"140px\" alt=\"gif\">\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_d2f47d1cbdfa.gif\" width=\"140px\" alt=\"gif\">\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\u003C\u002Fp>\n \n## 2. 安装\n\n### 2.1. 环境\n\n\n我们的模型可以在**单块 V100-32G 显卡**上进行训练。\n\n```bash\nconda env create -f environment.yml\nconda activate T2M-GPT\n```\n\n代码已在 Python 3.8 和 PyTorch 1.8.1 上测试通过。\n\n\n### 2.2. 依赖项\n\n```bash\nbash dataset\u002Fprepare\u002Fdownload_glove.sh\n```\n\n\n### 2.3. 数据集\n\n\n我们使用两个三维人体动作-语言数据集：HumanML3D 和 KIT-ML。对于这两个数据集，您都可以在[[这里]](https:\u002F\u002Fgithub.com\u002FEricGuo5513\u002FHumanML3D)找到详细信息及下载链接。  \n\n以 HumanML3D 为例，文件目录应如下所示：  \n```\n.\u002Fdataset\u002FHumanML3D\u002F\n├── new_joint_vecs\u002F\n├── texts\u002F\n├── Mean.npy # 与 [HumanML3D](https:\u002F\u002Fgithub.com\u002FEricGuo5513\u002FHumanML3D) 中的相同\n├── Std.npy # 与 [HumanML3D](https:\u002F\u002Fgithub.com\u002FEricGuo5513\u002FHumanML3D) 中的相同\n├── train.txt\n├── val.txt\n├── test.txt\n├── train_val.txt\n└── all.txt\n```\n\n\n### 2.4. 动作和文本特征提取器：\n\n我们使用 [t2m](https:\u002F\u002Fgithub.com\u002FEricGuo5513\u002Ftext-to-motion) 提供的相同提取器来评估我们生成的动作。请下载这些提取器。\n\n```bash\nbash dataset\u002Fprepare\u002Fdownload_extractor.sh\n```\n\n### 2.5. 预训练模型 \n\n预训练模型文件将存储在 'pretrained' 文件夹中：\n```bash\nbash dataset\u002Fprepare\u002Fdownload_model.sh\n```\n\n\n### 2.6. 渲染 SMPL 网格（可选）\n\n如果您想渲染生成的动作，需要安装：\n\n```bash\nsudo sh dataset\u002Fprepare\u002Fdownload_smpl.sh\nconda install -c menpo osmesa\nconda install h5py\nconda install -c conda-forge shapely pyrender trimesh mapbox_earcut\n```\n\n\n\n## 3. 快速入门\n\n关于如何使用我们代码的快速入门指南可在 [demo.ipynb](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1Vy69w2q2d-Hg19F-KibqG0FRdpSj3L4O?usp=sharing) 中找到。\n\n\u003Cp align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_readme_c07f2fb6cce6.png\" width=\"400px\" alt=\"demo\">\n\u003C\u002Fp>\n\n\n## 4. 训练\n\n请注意，对于 kit 数据集，只需设置 '--dataname kit'。\n\n### 4.1. VQ-VAE \n\n结果保存在 output 文件夹中。\n\n\u003Cdetails>\n\u003Csummary>\nVQ 训练\n\u003C\u002Fsummary>\n\n```bash\npython3 train_vq.py \\\n--batch-size 256 \\\n--lr 2e-4 \\\n--total-iter 300000 \\\n--lr-scheduler 200000 \\\n--nb-code 512 \\\n--down-t 2 \\\n--depth 3 \\\n--dilation-growth-rate 3 \\\n--out-dir output \\\n--dataname t2m \\\n--vq-act relu \\\n--quantizer ema_reset \\\n--loss-vel 0.5 \\\n--recons-loss l1_smooth \\\n--exp-name VQVAE\n```\n\n\u003C\u002Fdetails>\n\n### 4.2. GPT \n\n结果保存在 output 文件夹中。\n\n\u003Cdetails>\n\u003Csummary>\nGPT 训练\n\u003C\u002Fsummary>\n\n```bash\npython3 train_t2m_trans.py  \\\n--exp-name GPT \\\n--batch-size 128 \\\n--num-layers 9 \\\n--embed-dim-gpt 1024 \\\n--nb-code 512 \\\n--n-head-gpt 16 \\\n--block-size 51 \\\n--ff-rate 4 \\\n--drop-out-rate 0.1 \\\n--resume-pth output\u002FVQVAE\u002Fnet_last.pth \\\n--vq-name VQVAE \\\n--out-dir output \\\n--total-iter 300000 \\\n--lr-scheduler 150000 \\\n--lr 0.0001 \\\n--dataname t2m \\\n--down-t 2 \\\n--depth 3 \\\n--quantizer ema_reset \\\n--eval-iter 10000 \\\n--pkeep 0.5 \\\n--dilation-growth-rate 3 \\\n--vq-act relu\n```\n\n\u003C\u002Fdetails>\n\n## 5. 评估 \n\n### 5.1. VQ-VAE \n\u003Cdetails>\n\u003Csummary>\nVQ 评估\n\u003C\u002Fsummary>\n\n```bash\npython3 VQ_eval.py \\\n--batch-size 256 \\\n--lr 2e-4 \\\n--total-iter 300000 \\\n--lr-scheduler 200000 \\\n--nb-code 512 \\\n--down-t 2 \\\n--depth 3 \\\n--dilation-growth-rate 3 \\\n--out-dir output \\\n--dataname t2m \\\n--vq-act relu \\\n--quantizer ema_reset \\\n--loss-vel 0.5 \\\n--recons-loss l1_smooth \\\n--exp-name TEST_VQVAE \\\n--resume-pth output\u002FVQVAE\u002Fnet_last.pth\n```\n\n\u003C\u002Fdetails>\n\n### 5.2. GPT\n\n\u003Cdetails>\n\u003Csummary>\nGPT 评估\n\u003C\u002Fsummary>\n\n我们遵循 [text-to-motion](https:\u002F\u002Fgithub.com\u002FEricGuo5513\u002Ftext-to-motion) 的评估设置，对我们的模型进行了 20 次评估，并报告了平均结果。由于多模态部分需要从同一段文本生成 30 个动作序列，因此评估过程耗时较长。\n\n```bash\npython3 GPT_eval_multi.py  \\\n--exp-name TEST_GPT \\\n--batch-size 128 \\\n--num-layers 9 \\\n--embed-dim-gpt 1024 \\\n--nb-code 512 \\\n--n-head-gpt 16 \\\n--block-size 51 \\\n--ff-rate 4 \\\n--drop-out-rate 0.1 \\\n--resume-pth output\u002FVQVAE\u002Fnet_last.pth \\\n--vq-name VQVAE \\\n--out-dir output \\\n--total-iter 300000 \\\n--lr-scheduler 150000 \\\n--lr 0.0001 \\\n--dataname t2m \\\n--down-t 2 \\\n--depth 3 \\\n--quantizer ema_reset \\\n--eval-iter 10000 \\\n--pkeep 0.5 \\\n--dilation-growth-rate 3 \\\n--vq-act relu \\\n--resume-trans output\u002FGPT\u002Fnet_best_fid.pth\n```\n\n\u003C\u002Fdetails>\n\n\n## 6. SMPL 网格渲染 \n\n\u003Cdetails>\n\u003Csummary>\nSMPL 网格渲染 \n\u003C\u002Fsummary>\n\n你需要输入 npy 文件夹的地址和动作名称。以下是一个示例：\n\n```bash\npython3 render_final.py --filedir output\u002FTEST_GPT\u002F --motion-list 000019 005485\n```\n\n\u003C\u002Fdetails>\n\n### 7. 致谢\n\n我们感谢以下人员的帮助：  \n\n* 公开代码，如 [text-to-motion](https:\u002F\u002Fgithub.com\u002FEricGuo5513\u002Ftext-to-motion)、[TM2T](https:\u002F\u002Fgithub.com\u002FEricGuo5513\u002FTM2T)、[MDM](https:\u002F\u002Fgithub.com\u002FGuyTevet\u002Fmotion-diffusion-model)、[MotionDiffuse](https:\u002F\u002Fgithub.com\u002Fmingyuan-zhang\u002FMotionDiffuse) 等。\n* \u003Ca href='https:\u002F\u002Fmathis.petrovich.fr\u002F'>Mathis Petrovich\u003C\u002Fa>、\u003Ca href='https:\u002F\u002Fdulucas.github.io\u002F'>Yuming Du\u003C\u002Fa>、\u003Ca href='https:\u002F\u002Fgithub.com\u002Fyingyichen-cyy'>Yingyi Chen\u003C\u002Fa>、\u003Ca href='https:\u002F\u002Fdexiong.me\u002F'>Dexiong Chen\u003C\u002Fa> 和 \u003Ca href='https:\u002F\u002Fxuelin-chen.github.io\u002F'>Xuelin Chen\u003C\u002Fa> 提供的启发性讨论和宝贵反馈。\n* \u003Ca href='https:\u002F\u002Fgithub.com\u002Fvumichien'>Minh Chien Vu\u003C\u002Fa> 提供的 Hugging Face Space 演示。\n\n### 8. 变更日志\n\n* 2023年2月19日：添加了 Hugging Face Space 演示，用于骨骼和 SMPL 网格的可视化展示。","# T2M-GPT 快速上手指南\n\nT2M-GPT 是一个基于离散表示，通过文本描述生成人体运动的 AI 模型（CVPR 2023）。本指南将帮助您快速在本地部署并运行该工具。\n\n## 1. 环境准备\n\n### 系统要求\n- **操作系统**: Linux (推荐)\n- **GPU**: 单张 V100-32G 或同等显存容量的 GPU\n- **Python**: 3.8\n- **PyTorch**: 1.8.1\n\n### 前置依赖\n确保已安装 `conda` 包管理器。本项目依赖 GloVe 词向量、预训练模型及特征提取器。\n\n> **提示**：若下载脚本速度较慢，可手动访问 [HumanML3D 数据集页面](https:\u002F\u002Fgithub.com\u002FEricGuo5513\u002FHumanML3D) 或 HuggingFace 下载相关文件后放入对应目录。\n\n## 2. 安装步骤\n\n### 2.1 创建虚拟环境\n克隆项目代码后，使用提供的配置文件创建 conda 环境：\n\n```bash\nconda env create -f environment.yml\nconda activate T2M-GPT\n```\n\n### 2.2 下载依赖资源\n依次运行以下脚本下载 GloVe 数据、特征提取器和预训练模型：\n\n```bash\n# 下载 GloVe\nbash dataset\u002Fprepare\u002Fdownload_glove.sh\n\n# 下载特征提取器 (用于评估)\nbash dataset\u002Fprepare\u002Fdownload_extractor.sh\n\n# 下载预训练模型\nbash dataset\u002Fprepare\u002Fdownload_model.sh\n```\n\n### 2.3 准备数据集\n本项目支持 **HumanML3D** 和 **KIT-ML** 数据集。以 HumanML3D 为例，请下载数据集并确保目录结构如下：\n\n```text\n.\u002Fdataset\u002FHumanML3D\u002F\n├── new_joint_vecs\u002F\n├── texts\u002F\n├── Mean.npy\n├── Std.npy\n├── train.txt\n├── val.txt\n├── test.txt\n├── train_val.txt\n└── all.txt\n```\n\n*(可选) 若需渲染 SMPL 网格动画，请额外安装渲染依赖：*\n```bash\nsudo sh dataset\u002Fprepare\u002Fdownload_smpl.sh\nconda install -c menpo osmesa\nconda install h5py\nconda install -c conda-forge shapely pyrender trimesh mapbox_earcut\n```\n\n## 3. 基本使用\n\n最快速的上手方式是使用官方提供的 Colab Notebook 进行体验，无需本地配置环境：\n- **Notebook Demo**: [Google Colab 链接](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1Vy69w2q2d-Hg19F-KibqG0FRdpSj3L4O?usp=sharing)\n- **HuggingFace Space**: [在线演示空间](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fvumichien\u002Fgenerate_human_motion)\n\n### 本地推理示例\n若已完成安装并下载了预训练模型，可通过修改评估脚本来生成运动数据。以下命令展示了如何加载预训练的 GPT 模型进行生成（结果保存在 `output` 目录）：\n\n```bash\npython3 GPT_eval_multi.py  \\\n--exp-name TEST_GPT \\\n--batch-size 128 \\\n--num-layers 9 \\\n--embed-dim-gpt 1024 \\\n--nb-code 512 \\\n--n-head-gpt 16 \\\n--block-size 51 \\\n--ff-rate 4 \\\n--drop-out-rate 0.1 \\\n--resume-pth output\u002FVQVAE\u002Fnet_last.pth \\\n--vq-name VQVAE \\\n--out-dir output \\\n--total-iter 300000 \\\n--lr-scheduler 150000 \\\n--lr 0.0001 \\\n--dataname t2m \\\n--down-t 2 \\\n--depth 3 \\\n--quantizer ema_reset \\\n--eval-iter 10000 \\\n--pkeep 0.5 \\\n--dilation-growth-rate 3 \\\n--vq-act relu \\\n--resume-trans output\u002FGPT\u002Fnet_best_fid.pth\n```\n\n### 渲染结果 (可选)\n生成 `.npy` 格式的运动数据后，可使用以下命令将其渲染为可视化的 SMPL 网格动画：\n\n```bash\npython3 render_final.py --filedir output\u002FTEST_GPT\u002F --motion-list 000019 005485\n```","某独立游戏开发者正在为一款叙事驱动的动作游戏快速原型化 NPC 的行为动画，希望仅通过剧本描述即可生成自然的角色动作。\n\n### 没有 T2M-GPT 时\n- 动画师需手动逐帧制作或调整动作捕捉数据，耗时数天才能完成一个复杂动作序列（如“起身绕圈后坐下”）。\n- 修改动作逻辑极其困难，若策划要求将“走路”改为“跛行”，必须重新制作整个动画片段。\n- 难以保证动作与文本描述的语义一致性，常出现动作僵硬或与指令不符的情况，需反复沟通返工。\n- 缺乏多样化的动作变体，导致游戏中多个 NPC 执行相同指令时动作完全雷同，缺乏真实感。\n- 技术门槛高，非动画专业的程序开发人员无法直接参与动作内容的创作与迭代。\n\n### 使用 T2M-GPT 后\n- 开发者只需输入自然语言描述（如\"a man rises from the ground, walks in a circle and sits back down\"），T2M-GPT 即可在秒级内生成对应的 3D 人体运动序列。\n- 调整动作变得轻而易举，修改文本描述中的动词或副词，T2M-GPT 便能实时输出新的动作变体，极大加速了策划迭代。\n- 生成的动作在语义上与文本高度对齐，肢体协调自然，显著减少了人工校验和修正的时间成本。\n- T2M-GPT 基于离散表示生成，能自动提供多种符合描述的运动风格，让不同 NPC 即使执行相同指令也展现出个性化差异。\n- 程序人员可直接调用 API 将文本转动作流程集成到游戏引擎中，实现了从剧本到可玩原型的端到端自动化。\n\nT2M-GPT 通过将自然语言直接转化为高质量 3D 人体运动，彻底打破了传统动画制作的高壁垒，让内容创作实现了真正的“所言即所得”。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMael-zys_T2M-GPT_db6f638b.png","Mael-zys","Yangsong ZHANG","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FMael-zys_2d37fbd6.jpg","Student in Shanghai Jiao Tong University and Telecom Paris.","Shanghai Jiao Tong University",null,"https:\u002F\u002Fgithub.com\u002FMael-zys",[81,85],{"name":82,"color":83,"percentage":84},"Python","#3572A5",99.5,{"name":86,"color":87,"percentage":88},"Shell","#89e051",0.5,755,64,"2026-04-09T04:46:52","Apache-2.0","Linux","需要 NVIDIA GPU，推荐单卡 V100-32G","未说明",{"notes":97,"python":98,"dependencies":99},"建议使用 conda 创建环境（environment.yml）。若需渲染 SMPL 网格，需额外安装 osmesa、pyrender 等可视化库。代码在 Python 3.8 和 PyTorch 1.8.1 上测试通过。训练和评估需下载 HumanML3D 或 KIT-ML 数据集及预训练的提取器和模型文件。","3.8",[100,101,102,103,104,105,106],"torch==1.8.1","h5py","shapely","pyrender","trimesh","mapbox_earcut","osmesa",[35,13,108],"视频",[110,111,112],"gpt","motion-generation","vq-vae","2026-03-27T02:49:30.150509","2026-04-10T16:00:05.933490",[116,121,126,131,136,141,146],{"id":117,"question_zh":118,"answer_zh":119,"source_url":120},27765,"无法复现论文中的 FID 结果，应该使用哪个预训练权重文件？","根据官方回复，评估时应区分 VQ-VAE 和 Transformer 的权重文件。请尝试对 VQ-VAE 使用 \"net_last.pth\"，对 Transformer 使用 \"net_best_fid.pth\"。此外，如果 FID 仍然偏高，请检查数据加载器（dataloader）是否能正确找到运动数据的镜像版本（mirrored version），这是导致结果不一致的常见原因。","https:\u002F\u002Fgithub.com\u002FMael-zys\u002FT2M-GPT\u002Fissues\u002F28",{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},27766,"如何生成多样化的动作序列？","默认情况下模型可能预测概率最高的下一个动作索引。为了生成多样化的动作，需要将超参数 \"if_categorical\" 设置为 True。这样 T2M-GPT 将基于概率分布采样下一个动作索引，而不是总是选择概率最大的那个。你还可以更改随机种子以增加多样性。相关代码位于 models\u002Ft2m_trans.py 和 options\u002Foption_transformer.py 中。","https:\u002F\u002Fgithub.com\u002FMael-zys\u002FT2M-GPT\u002Fissues\u002F53",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},27767,"评估指标中的 95% 置信区间是如何计算的？评估为什么需要这么长时间？","遵循 text-to-motion (t2m) 的评估协议，计算置信区间需要重复运行评估函数 20 次。每次运行需为每个文本生成 30 个动作样本（MultiModality 指标运行 5 次）。由于需要大量采样，整个评估过程非常耗时（可能接近 200 小时），这是正常现象。你可以参考 motion-diffusion-model (mdm) 的实现方式运行所有评估。","https:\u002F\u002Fgithub.com\u002FMael-zys\u002FT2M-GPT\u002Fissues\u002F24",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},27768,"能否在生成前指定动作序列的长度？","在当前的训练策略下，无法直接选择生成的序列长度，因为模型依赖 End token 来终止生成。如果需要控制长度，可以在训练时移除 End token，并将代码中的 block_size 替换为真实长度（GT length）。End token 和 pad token 是在数据集处理阶段（dataset_TM_train.py）和模型前向传播（t2m_trans.py）中添加的。","https:\u002F\u002Fgithub.com\u002FMael-zys\u002FT2M-GPT\u002Fissues\u002F21",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},27769,"下载预训练模型或提取器时遇到权限错误（Need permission）怎么办？","如果遇到 Google Drive 链接无法访问或需要权限的问题，通常是因为演示笔记本（notebook demo）中的链接未更新。维护者已更新了 Colab 笔记本中的下载链接，请尝试重新运行最新的 notebook。如果是运行本地脚本（如 download_extractor.sh）报错，请确保使用的是项目最新版本的代码，其中已修复了公开访问权限问题。","https:\u002F\u002Fgithub.com\u002FMael-zys\u002FT2M-GPT\u002Fissues\u002F74",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},27770,"如何将 SMPL 网格渲染成单张图片以展示完整的动作路径（类似论文插图）？","默认的渲染函数可能逐帧输出。要生成包含完整动作路径的单张图片，需要替换 render 函数。关键步骤包括：计算动作的最小值和最大值以确定高度偏移（height_offset），调整 Y 轴坐标，提取轨迹（trajec），使用 joints2smpl 将关节点转换为 SMPL 参数，最后利用 Rotation2xyz 进行网格渲染。维护者在 Issue 评论中提供了具体的 Python 代码实现供参考。","https:\u002F\u002Fgithub.com\u002FMael-zys\u002FT2M-GPT\u002Fissues\u002F70",{"id":147,"question_zh":148,"answer_zh":149,"source_url":150},27771,"在采样计算 FID 分数时，应该设置 if_categorical=True 还是 False？","虽然某些情况下 if_categorical=False 可能在验证集上表现更好，但为了符合论文报告的标准和保证生成的多样性，通常建议在报告 FID 分数时使用 if_categorical=True。这将使模型基于概率分布进行采样，而不是贪婪地选择最大概率令牌，从而更准确地反映模型的生成能力。","https:\u002F\u002Fgithub.com\u002FMael-zys\u002FT2M-GPT\u002Fissues\u002F69",[]]