[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"tool-kennymckormick--pyskl":3,"similar-kennymckormick--pyskl":110},{"id":4,"github_repo":5,"name":6,"description_en":7,"description_zh":8,"ai_summary_zh":9,"readme_en":10,"readme_zh":11,"quickstart_zh":12,"use_case_zh":13,"hero_image_url":14,"owner_login":15,"owner_name":16,"owner_avatar_url":17,"owner_bio":18,"owner_company":19,"owner_location":20,"owner_email":21,"owner_twitter":22,"owner_website":23,"owner_url":24,"languages":25,"stars":38,"forks":39,"last_commit_at":40,"license":41,"difficulty_score":42,"env_os":43,"env_gpu":44,"env_ram":45,"env_deps":46,"category_tags":53,"github_topics":56,"view_count":64,"oss_zip_url":65,"oss_zip_packed_at":65,"status":66,"created_at":67,"updated_at":68,"faqs":69,"releases":99},5534,"kennymckormick\u002Fpyskl","pyskl","A toolbox for skeleton-based action recognition.","pyskl 是一个基于 PyTorch 开发的开源工具箱，专注于利用人体骨架数据进行动作识别。它旨在解决如何高效地从骨骼关键点序列中分析和理解人类行为这一核心问题，广泛应用于智能监控、人机交互及手势控制等场景。\n\n这款工具非常适合计算机视觉领域的研究人员和开发者使用。无论是希望复现前沿算法的学者，还是想要快速构建原型系统的工程师，都能从中受益。pyskl 建立在强大的 MMAction2 框架之上，不仅提供了标准化的训练与测试流程，还集成了多种经典与最先进的算法模型，如 PoseConv3D、ST-GCN++、DG-STGCN 以及 CTR-GCN 等，并支持 NTU RGB+D 和 Kinetics 等主流数据集。\n\n其独特的技术亮点在于官方实现了曾获得 CVPR 口头报告认可的 PoseConv3D 算法，该算法通过将骨架数据转化为热力图并使用 3D 卷积处理，显著提升了识别精度。此外，pyskl 还提供了实时手势识别演示脚本，并实验性地支持 PyTorch 2.0 的编译加速功能，帮助开发者在保持高精度的同时优化推理速度。尽管目前项目主要由社区维护，但它依然是一个功能丰富、易于扩","pyskl 是一个基于 PyTorch 开发的开源工具箱，专注于利用人体骨架数据进行动作识别。它旨在解决如何高效地从骨骼关键点序列中分析和理解人类行为这一核心问题，广泛应用于智能监控、人机交互及手势控制等场景。\n\n这款工具非常适合计算机视觉领域的研究人员和开发者使用。无论是希望复现前沿算法的学者，还是想要快速构建原型系统的工程师，都能从中受益。pyskl 建立在强大的 MMAction2 框架之上，不仅提供了标准化的训练与测试流程，还集成了多种经典与最先进的算法模型，如 PoseConv3D、ST-GCN++、DG-STGCN 以及 CTR-GCN 等，并支持 NTU RGB+D 和 Kinetics 等主流数据集。\n\n其独特的技术亮点在于官方实现了曾获得 CVPR 口头报告认可的 PoseConv3D 算法，该算法通过将骨架数据转化为热力图并使用 3D 卷积处理，显著提升了识别精度。此外，pyskl 还提供了实时手势识别演示脚本，并实验性地支持 PyTorch 2.0 的编译加速功能，帮助开发者在保持高精度的同时优化推理速度。尽管目前项目主要由社区维护，但它依然是一个功能丰富、易于扩展的宝贵资源，为骨架动作识别研究提供了坚实的基础。","# PYSKL\n\n> Note: This repo is currently not maintained by the developer. Feel free to create forks and develop based on this piece of codes.\n\n[![PWC](https:\u002F\u002Fimg.shields.io\u002Fendpoint.svg?url=https:\u002F\u002Fpaperswithcode.com\u002Fbadge\u002Frevisiting-skeleton-based-action-recognition\u002Fskeleton-based-action-recognition-on-ntu-rgbd)](https:\u002F\u002Fpaperswithcode.com\u002Fsota\u002Fskeleton-based-action-recognition-on-ntu-rgbd?p=revisiting-skeleton-based-action-recognition)\n[![PWC](https:\u002F\u002Fimg.shields.io\u002Fendpoint.svg?url=https:\u002F\u002Fpaperswithcode.com\u002Fbadge\u002Fdg-stgcn-dynamic-spatial-temporal-modeling\u002Fskeleton-based-action-recognition-on-ntu-rgbd-1)](https:\u002F\u002Fpaperswithcode.com\u002Fsota\u002Fskeleton-based-action-recognition-on-ntu-rgbd-1?p=dg-stgcn-dynamic-spatial-temporal-modeling)\n[![PWC](https:\u002F\u002Fimg.shields.io\u002Fendpoint.svg?url=https:\u002F\u002Fpaperswithcode.com\u002Fbadge\u002Frevisiting-skeleton-based-action-recognition\u002Fskeleton-based-action-recognition-on-kinetics)](https:\u002F\u002Fpaperswithcode.com\u002Fsota\u002Fskeleton-based-action-recognition-on-kinetics?p=revisiting-skeleton-based-action-recognition)\n[[**Report**]](https:\u002F\u002Farxiv.org\u002Fabs\u002F2205.09443)\n\nPYSKL is a toolbox focusing on action recognition based on **SK**e**L**eton data with **PY**Torch. Various algorithms will be supported for skeleton-based action recognition. We build this project based on the OpenSource Project [MMAction2](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmaction2).\n\nThis repo is the official implementation of [PoseConv3D](https:\u002F\u002Farxiv.org\u002Fabs\u002F2104.13586) and [STGCN++](https:\u002F\u002Fgithub.com\u002Fkennymckormick\u002Fpyskl\u002Ftree\u002Fmain\u002Fconfigs\u002Fstgcn%2B%2B).\n\n\u003Cdiv id=\"wrapper\" align=\"center\">\n\u003Cfigure>\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkennymckormick_pyskl_readme_a35964f95b9f.gif\" width=\"520px\">&emsp;\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkennymckormick_pyskl_readme_0a39dbfba1bf.gif\" width=\"290px\">\u003Cbr>\n  \u003Cp style=\"font-size:1.2vw;\">Left: Skeleton-base Action Recognition Results on NTU-RGB+D-120; Right: CPU Realtime Skeleton-base Gesture Recognition Results\u003C\u002Fp>\n\u003C\u002Ffigure>\n\u003C\u002Fdiv>\n\n## Change Log\n\n- Improve skeleton extraction script ([PR](https:\u002F\u002Fgithub.com\u002Fkennymckormick\u002Fpyskl\u002Fpull\u002F150)). Now it supports non-distributed skeleton extraction and k400-style (**2023-03-20**).\n- Support PyTorch 2.0: when set `--compile` for training\u002Ftesting scripts and with `torch.__version__ >= 'v2.0.0'` detected, will use `torch.compile` to compile the model before training\u002Ftesting. Experimental Feature, absolutely no performance warranty (**2023-03-16**).\n- Provide a real-time gesture recognition demo based on skeleton-based action recognition with ST-GCN++, check [Demo](\u002Fdemo\u002Fdemo.md) for more details and instructions (**2023-02-10**).\n- Provide [scripts](\u002Fexamples\u002Finference_speed.ipynb) to estimate the inference speed of each model (**2022-12-30**).\n- Support [RGBPoseConv3D](https:\u002F\u002Farxiv.org\u002Fabs\u002F2104.13586), a two-stream 3D-CNN for action recognition based on RGB & Human Skeleton. Follow the [guide](\u002Fconfigs\u002Frgbpose_conv3d\u002FREADME.md) to train and test RGBPoseConv3D on NTURGB+D （**2022-12-29**).\n\n## Supported Algorithms\n\n- [x] [DG-STGCN (Arxiv)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2210.05895) [[MODELZOO](\u002Fconfigs\u002Fdgstgcn\u002FREADME.md)]\n- [x] [ST-GCN (AAAI 2018)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1801.07455) [[MODELZOO](\u002Fconfigs\u002Fstgcn\u002FREADME.md)]\n- [x] [ST-GCN++ (ACMMM 2022)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2205.09443) [[MODELZOO](\u002Fconfigs\u002Fstgcn++\u002FREADME.md)]\n- [x] [PoseConv3D (CVPR 2022 Oral)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2104.13586) [[MODELZOO](\u002Fconfigs\u002Fposec3d\u002FREADME.md)]\n- [x] [AAGCN (TIP)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1912.06971) [[MODELZOO](\u002Fconfigs\u002Faagcn\u002FREADME.md)]\n- [x] [MS-G3D (CVPR 2020 Oral)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2003.14111) [[MODELZOO](\u002Fconfigs\u002Fmsg3d\u002FREADME.md)]\n- [x] [CTR-GCN (ICCV 2021)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2107.12213) [[MODELZOO](\u002Fconfigs\u002Fctrgcn\u002FREADME.md)]\n\n## Supported Skeleton Datasets\n\n- [x] [NTURGB+D (CVPR 2016)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1604.02808) and [NTURGB+D 120 (TPAMI 2019)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1905.04757)\n- [x] [Kinetics 400 (CVPR 2017)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1705.06950)\n- [x] [UCF101 (ArXiv 2012)](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1212.0402.pdf)\n- [x] [HMDB51 (ICCV 2021)](https:\u002F\u002Fieeexplore.ieee.org\u002Fstamp\u002Fstamp.jsp?arnumber=6126543)\n- [x] [FineGYM (CVPR 2020)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2004.06704)\n- [x] [Diving48 (ECCV 2018)](https:\u002F\u002Fopenaccess.thecvf.com\u002Fcontent_ECCV_2018\u002Fpapers\u002FYingwei_Li_RESOUND_Towards_Action_ECCV_2018_paper.pdf)\n\n## Installation\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002Fkennymckormick\u002Fpyskl.git\ncd pyskl\n# This command runs well with conda 22.9.0, if you are running an early conda version and got some errors, try to update your conda first\nconda env create -f pyskl.yaml\nconda activate pyskl\npip install -e .\n```\n\n## Installation Python 3.10\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002Fkennymckormick\u002Fpyskl.git\ncd pyskl\nconda env create -f pyskl_310.yaml\nconda activate pyskl\npip install -e .\n```\n\n## Demo\n\nCheck [demo.md](\u002Fdemo\u002Fdemo.md).\n\n## Data Preparation\n\nWe provide HRNet 2D skeletons for every dataset we supported and Kinect 3D skeletons for the NTURGB+D and NTURGB+D 120 dataset. To obtain the human skeleton annotations, you can:\n\n1. Use our pre-processed skeleton annotations: we directly provide the processed skeleton data for all datasets as pickle files (which can be directly used for training and testing), check [Data Doc](\u002Ftools\u002Fdata\u002FREADME.md) for the download links and descriptions of the annotation format.\n2. For NTURGB+D 3D skeletons, you can download the official annotations from https:\u002F\u002Fgithub.com\u002Fshahroudy\u002FNTURGB-D, and use our [provided script](\u002Ftools\u002Fdata\u002Fntu_preproc.py) to generate the processed pickle files. The generated files are the same with the provided `ntu60_3danno.pkl` and `ntu120_3danno.pkl`. For detailed instructions, follow the [Data Doc](\u002Ftools\u002Fdata\u002FREADME.md).\n3. We also provide scripts to extract 2D HRNet skeletons from RGB videos, you can follow the [diving48_example](\u002Fexamples\u002Fextract_diving48_skeleton\u002Fdiving48_example.ipynb) to extract 2D skeletons from an arbitrary RGB video dataset.\n\nYou can use [vis_skeleton](\u002Fdemo\u002Fvis_skeleton.ipynb) to visualize the provided skeleton data.\n\n## Training & Testing\n\nYou can use following commands for training and testing. Basically, we support distributed training on a single server with multiple GPUs.\n```shell\n# Training\nbash tools\u002Fdist_train.sh {config_name} {num_gpus} {other_options}\n# Testing\nbash tools\u002Fdist_test.sh {config_name} {checkpoint} {num_gpus} --out {output_file} --eval top_k_accuracy mean_class_accuracy\n```\nFor specific examples, please go to the README for each specific algorithm we supported.\n\n## Citation\n\nIf you use PYSKL in your research or wish to refer to the baseline results published in the Model Zoo, please use the following BibTeX entry and the BibTex entry corresponding to the specific algorithm you used.\n\n```BibTeX\n@inproceedings{duan2022pyskl,\n  title={Pyskl: Towards good practices for skeleton action recognition},\n  author={Duan, Haodong and Wang, Jiaqi and Chen, Kai and Lin, Dahua},\n  booktitle={Proceedings of the 30th ACM International Conference on Multimedia},\n  pages={7351--7354},\n  year={2022}\n}\n```\n\n## Contributing\n\nPYSKL is an OpenSource Project under the Apache2 license. Any contribution from the community to improve PYSKL is appreciated. For **significant** contributions (like supporting a novel & important task), a corresponding part will be added to our updated tech report, while the contributor will also be added to the author list.\n\nAny user can open a PR to contribute to PYSKL. The PR will be reviewed before being merged into the master branch. If you want to open a **large** PR in PYSKL, you are recommended to first reach me (via my email dhd.efz@gmail.com) to discuss the design, which helps to save large amounts of time in the reviewing stage.\n\n## Contact\n\nFor any questions, feel free to contact: dhd.efz@gmail.com\n","# PYSKL\n\n> 注意：此仓库目前不由开发者维护。欢迎创建分支并基于这些代码进行开发。\n\n[![PWC](https:\u002F\u002Fimg.shields.io\u002Fendpoint.svg?url=https:\u002F\u002Fpaperswithcode.com\u002Fbadge\u002Frevisiting-skeleton-based-action-recognition\u002Fskeleton-based-action-recognition-on-ntu-rgbd)](https:\u002F\u002Fpaperswithcode.com\u002Fsota\u002Fskeleton-based-action-recognition-on-ntu-rgbd?p=revisiting-skeleton-based-action-recognition)\n[![PWC](https:\u002F\u002Fimg.shields.io\u002Fendpoint.svg?url=https:\u002F\u002Fpaperswithcode.com\u002Fbadge\u002Fdg-stgcn-dynamic-spatial-temporal-modeling\u002Fskeleton-based-action-recognition-on-ntu-rgbd-1)](https:\u002F\u002Fpaperswithcode.com\u002Fsota\u002Fskeleton-based-action-recognition-on-ntu-rgbd-1?p=dg-stgcn-dynamic-spatial-temporal-modeling)\n[![PWC](https:\u002F\u002Fimg.shields.io\u002Fendpoint.svg?url=https:\u002F\u002Fpaperswithcode.com\u002Fbadge\u002Frevisiting-skeleton-based-action-recognition\u002Fskeleton-based-action-recognition-on-kinetics)](https:\u002F\u002Fpaperswithcode.com\u002Fsota\u002Fskeleton-based-action-recognition-on-kinetics?p=revisiting-skeleton-based-action-recognition)\n[[**报告**]](https:\u002F\u002Farxiv.org\u002Fabs\u002F2205.09443)\n\nPYSKL 是一个专注于基于 **SK**e**L**eton 数据的 **PY**Torch 动作识别工具箱。它将支持多种基于骨骼的动作识别算法。我们基于开源项目 [MMAction2](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmaction2) 构建了这个项目。\n\n该仓库是 [PoseConv3D](https:\u002F\u002Farxiv.org\u002Fabs\u002F2104.13586) 和 [STGCN++](https:\u002F\u002Fgithub.com\u002Fkennymckormick\u002Fpyskl\u002Ftree\u002Fmain\u002Fconfigs\u002Fstgcn%2B%2B) 的官方实现。\n\n\u003Cdiv id=\"wrapper\" align=\"center\">\n\u003Cfigure>\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkennymckormick_pyskl_readme_a35964f95b9f.gif\" width=\"520px\">&emsp;\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkennymckormick_pyskl_readme_0a39dbfba1bf.gif\" width=\"290px\">\u003Cbr>\n  \u003Cp style=\"font-size:1.2vw;\">左：NTU-RGB+D-120 上的骨骼动作识别结果；右：CPU 实时骨骼手势识别结果\u003C\u002Fp>\n\u003C\u002Ffigure>\n\u003C\u002Fdiv>\n\n## 变更日志\n\n- 改进了骨骼提取脚本（[PR](https:\u002F\u002Fgithub.com\u002Fkennymckormick\u002Fpyskl\u002Fpull\u002F150)）。现在支持非分布式骨骼提取和 k400 风格（**2023-03-20**）。\n- 支持 PyTorch 2.0：当为训练\u002F测试脚本设置 `--compile` 并检测到 `torch.__version__ >= 'v2.0.0'` 时，将在训练\u002F测试前使用 `torch.compile` 编译模型。实验性功能，绝对不保证性能（**2023-03-16**）。\n- 提供了一个基于 ST-GCN++ 的实时手势识别演示，更多详情和说明请参阅 [Demo](\u002Fdemo\u002Fdemo.md)（**2023-02-10**）。\n- 提供了用于估计各模型推理速度的 [脚本](\u002Fexamples\u002Finference_speed.ipynb)（**2022-12-30**）。\n- 支持 [RGBPoseConv3D](https:\u002F\u002Farxiv.org\u002Fabs\u002F2104.13586)，这是一种基于 RGB 和人体骨骼的双流 3D-CNN 动作识别方法。请按照 [指南](\u002Fconfigs\u002Frgbpose_conv3d\u002FREADME.md) 在 NTURGB+D 上训练和测试 RGBPoseConv3D（**2022-12-29**）。\n\n## 支持的算法\n\n- [x] [DG-STGCN (Arxiv)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2210.05895) [[MODELZOO](\u002Fconfigs\u002Fdgstgcn\u002FREADME.md)]\n- [x] [ST-GCN (AAAI 2018)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1801.07455) [[MODELZOO](\u002Fconfigs\u002Fstgcn\u002FREADME.md)]\n- [x] [ST-GCN++ (ACMMM 2022)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2205.09443) [[MODELZOO](\u002Fconfigs\u002Fstgcn++\u002FREADME.md)]\n- [x] [PoseConv3D (CVPR 2022 Oral)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2104.13586) [[MODELZOO](\u002Fconfigs\u002Fposec3d\u002FREADME.md)]\n- [x] [AAGCN (TIP)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1912.06971) [[MODELZOO](\u002Fconfigs\u002Faagcn\u002FREADME.md)]\n- [x] [MS-G3D (CVPR 2020 Oral)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2003.14111) [[MODELZOO](\u002Fconfigs\u002Fmsg3d\u002FREADME.md)]\n- [x] [CTR-GCN (ICCV 2021)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2107.12213) [[MODELZOO](\u002Fconfigs\u002Fctrgcn\u002FREADME.md)]\n\n## 支持的骨骼数据集\n\n- [x] [NTURGB+D (CVPR 2016)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1604.02808) 和 [NTURGB+D 120 (TPAMI 2019)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1905.04757)\n- [x] [Kinetics 400 (CVPR 2017)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1705.06950)\n- [x] [UCF101 (ArXiv 2012)](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1212.0402.pdf)\n- [x] [HMDB51 (ICCV 2021)](https:\u002F\u002Fieeexplore.ieee.org\u002Fstamp\u002Fstamp.jsp?arnumber=6126543)\n- [x] [FineGYM (CVPR 2020)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2004.06704)\n- [x] [Diving48 (ECCV 2018)](https:\u002F\u002Fopenaccess.thecvf.com\u002Fcontent_ECCV_2018\u002Fpapers\u002FYingwei_Li_RESOUND_Towards_Action_ECCV_2018_paper.pdf)\n\n## 安装\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002Fkennymckormick\u002Fpyskl.git\ncd pyskl\n# 此命令在 conda 22.9.0 下运行良好，如果您使用的是较早版本的 conda 并遇到一些错误，请先更新您的 conda\nconda env create -f pyskl.yaml\nconda activate pyskl\npip install -e .\n```\n\n## Python 3.10 安装\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002Fkennymckormick\u002Fpyskl.git\ncd pyskl\nconda env create -f pyskl_310.yaml\nconda activate pyskl\npip install -e .\n```\n\n## 演示\n\n请查看 [demo.md](\u002Fdemo\u002Fdemo.md)。\n\n## 数据准备\n\n我们为每个支持的数据集提供了 HRNet 2D 骨骼，并为 NTURGB+D 和 NTURGB+D 120 数据集提供了 Kinect 3D 骨骼。要获取人体骨骼标注，您可以：\n\n1. 使用我们预处理过的骨骼标注：我们直接以 pickle 文件的形式提供所有数据集的已处理骨骼数据（可直接用于训练和测试），下载链接和标注格式说明请参阅 [Data Doc](\u002Ftools\u002Fdata\u002FREADME.md)。\n2. 对于 NTURGB+D 3D 骨骼，您可以从 https:\u002F\u002Fgithub.com\u002Fshahroudy\u002FNTURGB-D 下载官方标注，并使用我们提供的 [脚本](\u002Ftools\u002Fdata\u002Fntu_preproc.py) 生成已处理的 pickle 文件。生成的文件与提供的 `ntu60_3danno.pkl` 和 `ntu120_3danno.pkl` 相同。详细说明请参阅 [Data Doc](\u002Ftools\u002Fdata\u002FREADME.md)。\n3. 我们还提供了从 RGB 视频中提取 2D HRNet 骨骼的脚本，您可以参考 [diving48_example](\u002Fexamples\u002Fextract_diving48_skeleton\u002Fdiving48_example.ipynb) 从任意 RGB 视频数据集中提取 2D 骨骼。\n\n您可以用 [vis_skeleton](\u002Fdemo\u002Fvis_skeleton.ipynb) 来可视化提供的骨骼数据。\n\n## 训练与测试\n\n您可以使用以下命令进行训练和测试。基本上，我们支持在单台服务器上使用多个 GPU 进行分布式训练。\n```shell\n# 训练\nbash tools\u002Fdist_train.sh {config_name} {num_gpus} {other_options}\n# 测试\nbash tools\u002Fdist_test.sh {config_name} {checkpoint} {num_gpus} --out {output_file} --eval top_k_accuracy mean_class_accuracy\n```\n有关具体示例，请参阅我们所支持的每种算法的 README。\n\n## 引用\n\n如果您在研究中使用 PYSKL，或希望引用 Model Zoo 中发布的基准结果，请使用以下 BibTeX 条目，以及您所使用的具体算法对应的 BibTeX 条目。\n\n```BibTeX\n@inproceedings{duan2022pyskl,\n  title={Pyskl: 骨骼动作识别的最佳实践},\n  author={Duan, Haodong 和 Wang, Jiaqi 和 Chen, Kai 和 Lin, Dahua},\n  booktitle={第30届 ACM 国际多媒体会议论文集},\n  pages={7351--7354},\n  year={2022}\n}\n```\n\n## 贡献\n\nPYSKL 是一个基于 Apache2 许可证的开源项目。我们非常欢迎社区对 PYSKL 的改进与贡献。对于**重要**的贡献（例如支持一项新颖且重要的任务），我们将在更新的技术报告中添加相应内容，并将贡献者列入作者名单。\n\n任何用户都可以通过提交 PR 来为 PYSKL 做出贡献。所有 PR 都将在合并到主分支之前接受评审。如果您计划在 PYSKL 中提交一个**大型** PR，建议您先通过我的邮箱 dhd.efz@gmail.com 与我沟通设计细节，这样可以节省大量的评审时间。\n\n## 联系方式\n\n如有任何问题，请随时联系：dhd.efz@gmail.com","# PYSKL 快速上手指南\n\nPYSKL 是一个基于 PyTorch 的骨架（Skeleton）动作识别工具箱，支持多种主流算法（如 ST-GCN++, PoseConv3D 等）。本项目基于 MMAction2 构建，是 PoseConv3D 和 STGCN++ 的官方实现。\n\n> **注意**：目前该仓库已不再由原作者主动维护，但代码仍可自由 Fork 和使用。\n\n## 环境准备\n\n- **操作系统**：Linux (推荐)\n- **Python 版本**：Python 3.7+ (官方提供 Python 3.10 专用配置)\n- **深度学习框架**：PyTorch (支持 PyTorch 2.0，可开启 `torch.compile` 加速)\n- **依赖管理**：Conda (推荐使用 Conda 22.9.0 或更高版本以避免环境创建错误)\n- **硬件要求**：支持 CUDA 的 NVIDIA GPU (用于训练和高效推理)，CPU 亦可运行部分演示。\n\n## 安装步骤\n\n### 1. 克隆项目\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002Fkennymckormick\u002Fpyskl.git\ncd pyskl\n```\n\n### 2. 创建虚拟环境并安装依赖\n\n**方案 A：标准安装 (推荐)**\n适用于大多数环境，使用官方提供的 `pyskl.yaml`。\n```shell\n# 确保 conda 版本较新 (建议 >= 22.9.0)\nconda env create -f pyskl.yaml\nconda activate pyskl\npip install -e .\n```\n\n**方案 B：Python 3.10 专用安装**\n如果你需要使用 Python 3.10，请使用专用的配置文件。\n```shell\nconda env create -f pyskl_310.yaml\nconda activate pyskl\npip install -e .\n```\n\n> **提示**：国内用户若遇到 `conda` 下载慢的问题，可临时切换至清华或中科大镜像源：\n> `conda config --add channels https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002Fanaconda\u002Fpkgs\u002Fmain\u002F`\n\n## 基本使用\n\n### 1. 数据准备\nPYSKL 不直接处理原始视频，而是使用预提取的骨架数据（pickle 格式）。\n- **直接使用预处理数据**：官方提供了 NTU-RGB+D, Kinetics 等数据集的处理后文件。请参考 [Data Doc](\u002Ftools\u002Fdata\u002FREADME.md) 下载对应的 pickle 文件。\n- **自行提取骨架**：\n    - 对于 NTU 3D 数据，可下载官方标注并使用 `\u002Ftools\u002Fdata\u002Fntu_preproc.py` 转换。\n    - 对于普通 RGB 视频，可参考 `\u002Fexamples\u002Fextract_diving48_skeleton\u002Fdiving48_example.ipynb` 使用 HRNet 提取 2D 骨架。\n\n### 2. 模型训练\n支持多卡分布式训练。以下命令表示使用 `{num_gpus}` 张显卡，加载 `{config_name}` 配置文件进行训练。\n\n```shell\nbash tools\u002Fdist_train.sh {config_name} {num_gpus} {other_options}\n```\n\n*示例：使用 2 张卡训练 ST-GCN++ 模型*\n```shell\nbash tools\u002Fdist_train.sh configs\u002Fstgcn++\u002Fstgcn++_ntu60_xsub.py 2\n```\n\n### 3. 模型测试与评估\n使用训练好的权重文件 `{checkpoint}` 进行测试，并输出评估指标。\n\n```shell\nbash tools\u002Fdist_test.sh {config_name} {checkpoint} {num_gpus} --out {output_file} --eval top_k_accuracy mean_class_accuracy\n```\n\n*示例：测试并评估准确率*\n```shell\nbash tools\u002Fdist_test.sh configs\u002Fstgcn++\u002Fstgcn++_ntu60_xsub.py work_dirs\u002Fstgcn++\u002Flatest.pth 2 --out results.pkl --eval top_k_accuracy mean_class_accuracy\n```\n\n### 4. 实时演示 (可选)\n项目提供了一个基于 CPU 的实时手势识别演示（需摄像头），具体使用方法请查看 [Demo 文档](\u002Fdemo\u002Fdemo.md)。\n\n```markdown\n# 简要预览\npython demo\u002Fdemo_skeleton.py --config {config_file} --checkpoint {checkpoint_file}\n```","某智慧养老社区的开发团队正致力于构建一套非接触式老人跌倒检测与异常行为预警系统，需通过监控视频实时分析人体动作。\n\n### 没有 pyskl 时\n- **算法复现成本极高**：团队需从零复现 ST-GCN 或 PoseConv3D 等前沿论文代码，耗费数周调试数据加载与图卷积逻辑，且难以保证还原度。\n- **数据预处理繁琐**：缺乏统一的骨架提取流程，将原始视频转换为 NTU-RGB+D 格式骨架数据的过程易出错，导致模型训练频繁中断。\n- **实时推理性能不足**：自研模型未针对推理速度优化，在普通 CPU 服务器上延迟过高，无法满足“跌倒即报警”的毫秒级响应需求。\n- **多模型对比困难**：想要验证不同架构（如 DG-STGCN vs CTR-GCN）的效果，需分别搭建独立环境，维护成本巨大。\n\n### 使用 pyskl 后\n- **开箱即用主流算法**：直接调用内置的 ST-GCN++ 和 PoseConv3D 等 SOTA 模型配置，几天内即可完成从训练到验证的全流程。\n- **标准化数据流水线**：利用改进后的骨架提取脚本，一键将监控视频转化为标准骨架序列，支持分布式处理，数据准备效率提升 80%。\n- **端侧实时运行能力**：借助提供的实时手势识别 Demo 架构进行迁移，成功在 CPU 环境下实现低延迟的跌倒动作检测，满足实际部署指标。\n- **灵活的性能调优**：通过内置的推理速度评估脚本快速定位瓶颈，并尝试 PyTorch 2.0 编译加速，轻松对比多种算法在特定硬件上的表现。\n\npyskl 将复杂的骨架动作识别研究转化为标准化的工程实践，让团队能专注于业务逻辑而非底层算法重复造轮子。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkennymckormick_pyskl_a35964f9.gif","kennymckormick","Haodong Duan","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fkennymckormick_d6235100.png","Researcher @ ByteDance Seed,   Prev. Ph.D. @ CUHK MMLAB, B.S. @ PKU","ByteDance","Singapore","dhd.efz@gmail.com","KennyUTC","https:\u002F\u002Fkennymckormick.github.io\u002F","https:\u002F\u002Fgithub.com\u002Fkennymckormick",[26,30,34],{"name":27,"color":28,"percentage":29},"Python","#3572A5",99.3,{"name":31,"color":32,"percentage":33},"Jupyter Notebook","#DA5B0B",0.6,{"name":35,"color":36,"percentage":37},"Shell","#89e051",0.1,1221,223,"2026-04-05T05:06:28","Apache-2.0",3,"Linux","需要 NVIDIA GPU 以支持分布式训练（多卡），具体型号和显存未说明；支持 CPU 实时推理","未说明",{"notes":47,"python":48,"dependencies":49},"该项目目前不再由开发者维护。安装推荐使用 conda 创建环境（提供 pyskl.yaml 或 pyskl_310.yaml）。支持 PyTorch 2.0 的 torch.compile 加速（实验性功能）。训练主要支持单机多卡分布式模式。数据需预处理为 pickle 格式或使用提供的脚本从视频中提取骨架。","3.8+ (明确支持 Python 3.10)",[50,51,52],"torch>=2.0 (可选编译加速)","mmaction2 (基于此项目构建)","conda (推荐版本 22.9.0+)",[54,55],"其他","开发框架",[57,58,59,60,61,62,63],"action-recognition","deep-learning","skeleton-based-action-recognition","stgcn","posec3d","gesture-recognition","pytorch",2,null,"ready","2026-03-27T02:49:30.150509","2026-04-08T22:11:05.954450",[70,75,80,85,90,95],{"id":71,"question_zh":72,"answer_zh":73,"source_url":74},25130,"加载预训练模型时出现 \"Segmentation fault (core dumped)\" 错误怎么办？","这通常是由于 PyTorch 和 mmcv-full 版本冲突导致的。建议按以下步骤解决：\n1. 将 torch 版本更改为 1.12.1（配合 CUDA 11.3）：\npip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https:\u002F\u002Fmirror.sjtu.edu.cn\u002Fpytorch-wheels\u002Fcu113\n2. 将 mmcv-full 版本更改为 1.6.2（避免直接使用 pip 安装默认 wheel，需指定源）：\npip install mmcv==1.6.2 -f https:\u002F\u002Fdownload.openmmlab.com\u002Fmmcv\u002Fdist\u002Fcu113\u002Ftorch1.12\u002Findex.html\n3. 同步更新相关依赖版本：mmdet 2.24.0, mmpose 0.28.1。\n如果问题依旧，请尝试使用项目最新的安装指南重新创建 conda 环境。","https:\u002F\u002Fgithub.com\u002Fkennymckormick\u002Fpyskl\u002Fissues\u002F72",{"id":76,"question_zh":77,"answer_zh":78,"source_url":79},25131,"运行 demo_skeleton.py 时出现 KeyError: 'center' 错误如何解决？","该错误通常是因为 mmpose 版本过高导致配置文件不兼容。解决方案如下：\n1. 确保使用兼容的 mmpose 版本（如 v0.26.0 或更低），项目已更新姿态估计配置文件以适配。\n2. 推荐的环境版本组合为：mmcv-full=1.3.18, mmdet=2.23.0, mmpose=0.24.0。\n3. 如果仍然失败，建议创建一个全新的虚拟环境，严格按照以下顺序安装：先安装 mmcv-full，然后安装 mmdet 和 mmpose，最后安装 pyskl。","https:\u002F\u002Fgithub.com\u002Fkennymckormick\u002Fpyskl\u002Fissues\u002F22",{"id":81,"question_zh":82,"answer_zh":83,"source_url":84},25132,"运行 Demo 时出现 \"AttributeError: 'NoneType' object has no attribute 'CLASSES'\" 或 \"Failed to build the detection model\" 错误？","这表明目标检测模型（mmdet）未正确加载或构建，通常是 mmcv-full 安装问题。解决方法：\n1. 检查 mmcv-full 是否安装正确。如果之前安装过其他版本（如 1.5.0），请先卸载。\n2. 安装指定版本的 mmcv-full（例如 1.3.14 或与 mmdet 匹配的版本）。\n3. **关键步骤**：在安装完 mmcv-full 后，必须重新安装 mmdet 和 mmpose，否则它们可能无法正确链接到 mmcv。\n命令示例：\npip uninstall mmcv-full mmdet mmpose\npip install mmcv-full==1.3.14\npip install mmdet mmpose","https:\u002F\u002Fgithub.com\u002Fkennymckormick\u002Fpyskl\u002Fissues\u002F15",{"id":86,"question_zh":87,"answer_zh":88,"source_url":89},25133,"使用自定义 3D 数据集训练 STGCN++ 时，Top-1 准确率始终为 0.1 是什么原因？","主要原因通常有两点：\n1. **训练样本太少**：如果数据量不足，模型无法收敛。建议扩充数据集。\n2. **数据归一化问题**：自定义生成的 3D 关键点坐标数值范围可能与标准数据集（如 NTU RGB+D）差异巨大。例如，NTU 的 x,y 通常在 -1 到 1 之间，而自定义数据可能达到 10^2 量级。这会导致模型失效。\n解决方案：检查并实施数据归一化（Pre-Normalization）。参考 NTU 数据的分布，对自定义数据的 x, y, z 坐标进行缩放和平移，使其处于合理的数值范围内。同时确认是否错误地跳过了必要的预处理步骤（如 PreNormalize3D）。","https:\u002F\u002Fgithub.com\u002Fkennymckormick\u002Fpyskl\u002Fissues\u002F137",{"id":91,"question_zh":92,"answer_zh":93,"source_url":94},25134,"项目中是否有 SlowFast 网络的配置文件？","早期版本可能仅提供了 SlowOnly 网络的配置。如果您需要使用 SlowFast 网络，请检查项目最新版本的 configs 目录或文档，维护者通常会在后续更新中添加更多骨干网络的配置脚本。如果当前仓库仍未包含，建议查阅 MMAction2 的相关配置并进行适配，或者在 Issues 中请求维护者提供特定脚本。","https:\u002F\u002Fgithub.com\u002Fkennymckormick\u002Fpyskl\u002Fissues\u002F1",{"id":96,"question_zh":97,"answer_zh":98,"source_url":74},25135,"安装 mmcv-full 后运行代码仍报错，应该如何排查环境依赖问题？","MMOpenLab 系列库（mmcv, mmdet, mmpose）对版本匹配非常敏感。如果遇到奇怪的安装错误或运行时错误：\n1. 不要混用不同来源的安装包，尽量使用官方提供的带 CUDA 版本的 wheel 包。\n2. 遵循严格的安装顺序：先安装特定版本的 mmcv-full，再安装依赖于它的 mmdet 和 mmpose。\n3. 如果不确定版本组合，最稳妥的方法是删除当前环境，新建一个干净的 conda 环境，并严格按照项目 README 中的 \"Installation\" 章节提供的具体版本号命令执行。\n4. 注意 gcc 编译器版本，某些新版本的 gcc 编译 open-mmlab 代码库可能导致错误，使用项目推荐的 conda 环境通常能避免此类底层编译问题。",[100,105],{"id":101,"version":102,"summary_zh":103,"released_at":104},154532,"v0.2","**新算法**\n- AAGCN（TIP）：https:\u002F\u002Farxiv.org\u002Fabs\u002F1912.06971 [[MODELZOO](\u002Fconfigs\u002Faagcn\u002FREADME.md)]\n- MS-G3D（CVPR 2020 口头报告）：https:\u002F\u002Farxiv.org\u002Fabs\u002F2003.14111 [[MODELZOO](\u002Fconfigs\u002Fmsg3d\u002FREADME.md)]\n- CTR-GCN（ICCV 2021）：https:\u002F\u002Farxiv.org\u002Fabs\u002F2107.12213 [[MODELZOO](\u002Fconfigs\u002Fctrgcn\u002FREADME.md)]\n\n**新数据集**\n- Kinetics-400（2D 骨骼）\n- Diving48（2D 骨骼）\n\n**新功能**\n- 为自定义视频数据集生成 2D 骨骼标注。\n- 支持空间增强（旋转和缩放）。\n- 在 `demo_skeleton` 中支持 GCN 推理。\n\n**错误修复**\n- 修复了 `vis_heatmap.ipynb` 中的 bug。\n- 修复了 ST-GCN++ 权重链接。\n\n**已知问题**\n- 目前，`demo_skeleton` 不兼容在 K400 上训练的 PoseC3D。","2022-05-12T08:09:20",{"id":106,"version":107,"summary_zh":108,"released_at":109},154533,"v0.1","**支持的算法**  \n- PoseConv3D（CVPR 2022 口头报告）：一种基于 3D 卷积神经网络的骨骼动作识别方法。  \n- ST-GCN（AAAI 2018）：一种基于图卷积网络的骨骼动作识别方法。  \n- ST-GCN++（PYSKL）：ST-GCN 的一个变体，在不使用任何自适应机制的情况下即可达到出色的识别性能。  \n\n**支持的数据集**  \n- NTU RGB+D 及 NTU RGB+D 120（所有划分，包括 2D 和 3D 骨骼数据）。  \n- FineGYM（2D 骨骼数据）。  \n- UCF101（2D 骨骼数据）。  \n- HMDB51（2D 骨骼数据）。  \n\n**支持的功能**  \n- 对所有支持算法进行训练和测试。  \n- 可视化 2D 和 3D 骨骼标注。","2022-04-03T10:01:22",[111,122,130,139,147,156],{"id":112,"name":113,"github_repo":114,"description_zh":115,"stars":116,"difficulty_score":42,"last_commit_at":117,"category_tags":118,"status":66},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,"2026-04-06T06:32:30",[119,55,120,121],"Agent","图像","数据工具",{"id":123,"name":124,"github_repo":125,"description_zh":126,"stars":127,"difficulty_score":42,"last_commit_at":128,"category_tags":129,"status":66},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",[55,120,119],{"id":131,"name":132,"github_repo":133,"description_zh":134,"stars":135,"difficulty_score":64,"last_commit_at":136,"category_tags":137,"status":66},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 真正成长为懂上",145895,"2026-04-08T11:32:59",[55,119,138],"语言模型",{"id":140,"name":141,"github_repo":142,"description_zh":143,"stars":144,"difficulty_score":64,"last_commit_at":145,"category_tags":146,"status":66},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",[55,120,119],{"id":148,"name":149,"github_repo":150,"description_zh":151,"stars":152,"difficulty_score":64,"last_commit_at":153,"category_tags":154,"status":66},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[155,55],"插件",{"id":157,"name":158,"github_repo":159,"description_zh":160,"stars":161,"difficulty_score":42,"last_commit_at":162,"category_tags":163,"status":66},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",[138,120,119,55]]