[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-jmtomczak--intro_dgm":3,"tool-jmtomczak--intro_dgm":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 真正成长为懂上",160784,2,"2026-04-19T11:32:54",[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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[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":32,"last_commit_at":59,"category_tags":60,"status":17},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",[52,14],{"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":77,"owner_email":78,"owner_twitter":78,"owner_website":79,"owner_url":80,"languages":81,"stars":90,"forks":91,"last_commit_at":92,"license":93,"difficulty_score":32,"env_os":94,"env_gpu":94,"env_ram":94,"env_deps":95,"category_tags":104,"github_topics":105,"view_count":32,"oss_zip_url":78,"oss_zip_packed_at":78,"status":17,"created_at":117,"updated_at":118,"faqs":119,"releases":135},9860,"jmtomczak\u002Fintro_dgm","intro_dgm","\"Deep Generative Modeling\": Introductory Examples","intro_dgm 是配套专著《Deep Generative Modeling》的开源代码库，旨在通过极简的示例帮助初学者快速入门深度生成模型。它解决了该领域理论深奥、代码实现复杂导致的学习门槛高这一痛点，将混合模型、自回归模型、流模型、潜在变量模型、GAN、基于分数的模型以及大语言模型等主流技术，转化为可在普通笔记本电脑上几分钟内运行完成的 Jupyter Notebook 实例。\n\n该项目特别适合具备微积分、线性代数及 Python 基础的学生、工程师和跨领域研究人员。对于零基础新手，它能引导你逐行理解代码逻辑，亲手复现实验；对于资深开发者，它则是验证新想法或重温核心概念的高效沙盒。其独特的技术亮点在于“去繁就简”的设计理念：不依赖庞大算力或复杂架构，而是用最直观的代码片段揭示生成式 AI 背后的数学原理与工程实现。无论你是想系统掌握从概率电路到神经压缩的各类算法，还是希望为构建自己的生成模型打下坚实基础，intro_dgm 都能助你轻松开启这段探索之旅。","# \u003Ca href=\"https:\u002F\u002Flink.springer.com\u002Fbook\u002F10.1007\u002F978-3-031-64087-2\" target=\"_blank\">\"Deep Generative Modeling\"\u003C\u002Fa>\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjmtomczak_intro_dgm_readme_8dedbacccb78.jpeg\" alt=\"Deep Generative Modeling\">\n\nThis first comprehensive book on models behind Generative AI has been thoroughly revised to cover all major classes of deep generative models: mixture models, Probabilistic Circuits, Autoregressive Models, Flow-based Models, Latent Variable Models, GANs, Hybrid Models, Score-based Generative Models, Energy-based Models, and Large Language Models. In addition, Generative AI Systems are discussed, demonstrating how deep generative models can be used for neural compression, among others.\u003Cbr>\n\nDeep Generative Modeling is designed to appeal to curious students, engineers, and researchers with a modest mathematical background in undergraduate calculus, linear algebra, probability theory, and the basics of machine learning, deep learning, and programming in Python and PyTorch (or other deep learning libraries). It should find interest among students and researchers from a variety of backgrounds, including computer science, engineering, data science, physics, and bioinformatics who wish to get familiar with deep generative modeling. In order to engage with a reader, the book introduces fundamental concepts with specific examples and code snippets. \u003Cbr>\n\nThe aim of the book is to outline the most important techniques in deep generative modeling and, eventually, enable readers to formulate new models and implement them.\n\n\n# Table of Content\n\u003Cb>Front matter\u003C\u002Fb>\u003Cbr>\n\u003Cb>Foreword\u003C\u002Fb> by \u003Ca href=\"https:\u002F\u002Fscholar.google.com\u002Fcitations?user=8200InoAAAAJ&hl=en\" target=\"_blank\">Prof. Max Welling\u003C\u002Fa>\u003Cbr>\n\u003Cb>Preface\u003C\u002Fb>\u003Cbr>\n\n1. Why Deep Generative Modeling?\n2. Probabilistic Modeling: From Mixture Models to Probabilistic Circuits\n3. Autoregressive Models\n4. Flow-Based Models\n5. Latent Variable Models\n6. Hybrid Modeling\n7. Energy-Based Models\n8. Generative Adversarial Networks\n9. Score-Based Generative Models\n10. Deep Generative Modeling for Neural Compression\n11. From Large Language Models to Generative AI Systems\n\n\u003Cb>Appendix\u003C\u002Fb>\u003Cbr>\nA. Useful Facts from Algebra and Calculus\u003Cbr>\nB. Useful Facts from Probability Theory and Statistics\u003Cbr>\n\n\n# Where to buy this book?\n\u003Ca href=\"https:\u002F\u002Flink.springer.com\u002Fbook\u002F10.1007\u002F978-3-031-64087-2\" target=\"_blank\">Springer\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fwww.amazon.com\u002FDeep-Generative-Modeling-Jakub-Tomczak\u002Fdp\u002FB0D4TR44GC\u002Fref=pd_lpo_d_sccl_1\u002F141-8785977-2759647?pd_rd_w=iL2rQ&content-id=amzn1.sym.4c8c52db-06f8-4e42-8e56-912796f2ea6c&pf_rd_p=4c8c52db-06f8-4e42-8e56-912796f2ea6c&pf_rd_r=4WYYB5T34DKDSVX6XM9M&pd_rd_wg=jAwdr&pd_rd_r=65b42a42-54af-4529-af17-39c1822dc745&pd_rd_i=B0D4TR44GC&psc=1\" target=\"_blank\">Amazon\u003C\u002Fa>\n\n\n# Introductory examples to Deep Generative Models\nThe examples might look oversimplistic but that's the point! My idea is that everyone is able to follow every line of the code, and run the experiments within a couple of minutes on almost any laptop or computer. My goal is to encourage people who are new to understand and play with deep generative models. More advanced users, on the other hand, could refresh their knowledge or build on top of that to quickly check their ideas. Either way, I hope the code will help everyone to join a fascinating journey on deep generative modeling!\n\n\n# Requirements\nIn all examples, we used:\n- `pytorch 1.7.0`\n- `numpy 1.17.2`\n- `matplotlib 3.1.1`\n- `scikit-learn 0.21.3`\n- `pytorch-model-summary 0.1.1`\n- `jupyter 1.0.0`\n\n\n# Examples\nAll examples of implemented deep generative models are provided as jupyter notebooks. They can be find in the following folders:\n1. [`mog`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Fmog): an example of a mixture of Gaussians with equiprobable components or trainable component probabilities. \n2. [`arms`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Farms): an example of an autoregressive model with a causal convolutiona layer in 1D and transformers.\n3. [`flows`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Fflows): an example of a flow-based model, namely, RealNVP with coupling layers and permutation layers, and IDFs (Integer Discrete Flows).\n4. [`vaes`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Fvaes): (i) an example of a Variational Auto-Encoder using fully-connected layers and a standard Gaussian prior, (ii) an example of various priors for VAEs, (iii) an example of a hierarchical VAE.\n5. [`ddgms`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Fddgms): an example of a Diffusion-based Deep Generative Model using a Gaussian forward diffusion with a fixed variace and a reverse diffusion parameterized by an MLP.\n6. [`sbgms`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Fsbgms): (i) an example of a score model using the score matching method and an MLP-based score model, (ii) an example of an SDE-based diffusion model parameterized by an MLP, (iii) an example of a conditional flow matching model parameterized by an MLP.\n7. [`hybrid_modeling`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Fhybrid_modeling): an example of a hybrid model using fully-connected layers and IDFs.\n8. [`ebms`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Febms): an example of an energy-based model parameterized by an MLP.\n9. [`gans`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Fgans): an example of a GAN parameterized by MLPs.\n10. [`neural_compression`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Fneural_compression): an example of applying deep generative modeling to image neural compression.\n11. [`llms`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Fllms): an example of a decoder-based transformer (an LLM; here we call it teenyGPT).\n\n# Teaching\nFor teaching purposes, please find the following material:\n1. [`assignments_examples`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Fteaching\u002Fassignments_examples): three examples of assignments: (i) for ARMs, (ii) for VAEs, (iii) for a group assignment;\n2. [`figures`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Fteaching\u002Ffigures): for all teachers, if you need to prepare your lectures, you can find some useful figures here.\n\nPlease do not forget to cite the book as the source. Thank you!\n\n\n# Citation\nIf you use this code in any way, please refer to it by citing my book \u003Ca href=\"https:\u002F\u002Flink.springer.com\u002Fbook\u002F10.1007\u002F978-3-031-64087-2\" target=\"_blank\">\"Deep Generative Modeling\"\u003C\u002Fa>:\n- APA style:\n```\nTomczak, J. M. (2024). Deep Generative Modeling. Springer Cham\n```\n- Bibtex:\n```\n@book{tomczak2024deep,\n  title={Deep Generative Modeling},\n  author={Tomczak, Jakub M},\n  publisher={Springer Cham},\n  year={2024}\n}\n```\n","# \u003Ca href=\"https:\u002F\u002Flink.springer.com\u002Fbook\u002F10.1007\u002F978-3-031-64087-2\" target=\"_blank\">《深度生成建模》\u003C\u002Fa>\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjmtomczak_intro_dgm_readme_8dedbacccb78.jpeg\" alt=\"深度生成建模\">\n\n这本关于生成式人工智能背后模型的第一本综合性著作经过全面修订，涵盖了所有主要类型的深度生成模型：混合模型、概率电路、自回归模型、基于流的模型、潜在变量模型、GAN、混合模型、基于分数的生成模型、基于能量的模型以及大型语言模型。此外，书中还讨论了生成式人工智能系统，展示了如何将深度生成模型应用于神经网络压缩等领域。\u003Cbr>\n\n《深度生成建模》旨在吸引具有本科微积分、线性代数、概率论以及机器学习、深度学习和Python及PyTorch（或其他深度学习框架）编程基础的求知欲强的学生、工程师和研究人员。它将受到来自计算机科学、工程学、数据科学、物理学和生物信息学等多个领域的学生和研究人员的关注，他们希望熟悉深度生成建模技术。为了更好地与读者互动，本书通过具体的示例和代码片段来介绍基本概念。\u003Cbr>\n\n本书的目标是概述深度生成建模领域中最重要的技术，并最终使读者能够提出新的模型并加以实现。\n\n\n# 目录\n\u003Cb>前部\u003C\u002Fb>\u003Cbr>\n\u003Cb>序言\u003C\u002Fb> 由 \u003Ca href=\"https:\u002F\u002Fscholar.google.com\u002Fcitations?user=8200InoAAAAJ&hl=en\" target=\"_blank\">马克斯·韦林教授\u003C\u002Fa> 撰写\u003Cbr>\n\u003Cb>前言\u003C\u002Fb>\u003Cbr>\n\n1. 为什么需要深度生成建模？\n2. 概率建模：从混合模型到概率电路\n3. 自回归模型\n4. 基于流的模型\n5. 潜在变量模型\n6. 混合建模\n7. 基于能量的模型\n8. 生成对抗网络\n9. 基于分数的生成模型\n10. 用于神经网络压缩的深度生成建模\n11. 从大型语言模型到生成式人工智能系统\n\n\u003Cb>附录\u003C\u002Fb>\u003Cbr>\nA. 代数和微积分中的有用事实\u003Cbr>\nB. 概率论和统计学中的有用事实\u003Cbr>\n\n\n# 在哪里可以购买这本书？\n\u003Ca href=\"https:\u002F\u002Flink.springer.com\u002Fbook\u002F10.1007\u002F978-3-031-64087-2\" target=\"_blank\">Springer\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fwww.amazon.com\u002FDeep-Generative-Modeling-Jakub-Tomczak\u002Fdp\u002FB0D4TR44GC\u002Fref=pd_lpo_d_sccl_1\u002F141-8785977-2759647?pd_rd_w=iL2rQ&content-id=amzn1.sym.4c8c52db-06f8-4e42-8e56-912796f2ea6c&pf_rd_p=4c8c52db-06f8-4e42-8e56-912796f2ea6c&pf_rd_r=4WYYB5T34DKDSVX6XM9M&pd_rd_wg=jAwdr&pd_rd_r=65b42a42-54af-4529-af17-39c1822dc745&pd_rd_i=B0D4TR44GC&psc=1\" target=\"_blank\">亚马逊\u003C\u002Fa>\n\n\n# 深度生成模型入门示例\n这些示例可能看起来过于简单，但这正是其目的！我的想法是让每个人都能理解每一行代码，并且几乎在任何笔记本电脑或台式机上都能在几分钟内运行这些实验。我的目标是鼓励初学者理解和尝试深度生成模型。而对于更高级的用户来说，这些示例也可以帮助他们复习知识，或者在此基础上快速验证自己的想法。无论哪种情况，我都希望这些代码能帮助大家踏上深度生成建模这一迷人旅程！\n\n\n# 环境要求\n在所有示例中，我们使用了：\n- `pytorch 1.7.0`\n- `numpy 1.17.2`\n- `matplotlib 3.1.1`\n- `scikit-learn 0.21.3`\n- `pytorch-model-summary 0.1.1`\n- `jupyter 1.0.0`\n\n\n# 示例\n所有实现的深度生成模型示例都以Jupyter Notebook的形式提供。它们可以在以下文件夹中找到：\n1. [`mog`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Fmog)：一个等概率成分或可训练成分概率的高斯混合模型示例。\n2. [`arms`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Farms)：一个包含一维因果卷积层和Transformer的自回归模型示例。\n3. [`flows`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Fflows)：一个基于流的模型示例，即带有耦合层和置换层的RealNVP，以及IDF（整数离散流）。\n4. [`vaes`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Fvaes)：(i) 使用全连接层和标准高斯先验的变分自编码器示例；(ii) 各种VAE先验的示例；(iii) 分层VAE的示例。\n5. [`ddgms`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Fddgms)：一个基于扩散的深度生成模型示例，采用固定方差的高斯正向扩散和由MLP参数化的逆向扩散。\n6. [`sbgms`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Fsbgms)：(i) 使用分数匹配方法和基于MLP的分数模型的分数示例；(ii) 基于SDE的扩散模型示例，该模型由MLP参数化；(iii) 条件流匹配模型示例，同样由MLP参数化。\n7. [`hybrid_modeling`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Fhybrid_modeling)：一个使用全连接层和IDF的混合模型示例。\n8. [`ebms`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Febms)：一个由MLP参数化的基于能量的模型示例。\n9. [`gans`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Fgans)：一个由MLP参数化的GAN示例。\n10. [`neural_compression`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Fneural_compression)：一个将深度生成建模应用于图像神经网络压缩的示例。\n11. [`llms`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Fllms)：一个基于解码器的Transformer示例（LLM；在这里我们称之为teenyGPT）。\n\n# 教学资源\n为教学之用，请参阅以下材料：\n1. [`assignments_examples`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Fteaching\u002Fassignments_examples)：三个作业示例：(i) 针对ARMS；(ii) 针对VAEs；(iii) 团队作业；\n2. [`figures`](https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Ftree\u002Fmain\u002Fteaching\u002Ffigures)：供所有教师参考，如果您需要准备课程，这里有一些有用的图表可供使用。\n\n请务必注明本书为引用来源。谢谢！\n\n\n# 引用\n如果您以任何方式使用此代码，请通过引用我的著作\u003Ca href=\"https:\u002F\u002Flink.springer.com\u002Fbook\u002F10.1007\u002F978-3-031-64087-2\" target=\"_blank\">《深度生成建模》\u003C\u002Fa>来进行引用：\n- APA格式：\n```\nTomczak, J. M. (2024). Deep Generative Modeling. Springer Cham\n```\n- Bibtex：\n```\n@book{tomczak2024deep,\n  title={Deep Generative Modeling},\n  author={Tomczak, Jakub M},\n  publisher={Springer Cham},\n  year={2024}\n}\n```","# intro_dgm 快速上手指南\n\n`intro_dgm` 是书籍《Deep Generative Modeling》的配套开源代码库，提供了深度生成模型（如 VAE、GAN、Diffusion、Flow、LLM 等）的极简实现示例。所有示例均以 Jupyter Notebook 形式提供，代码简洁易懂，适合初学者快速理解原理或研究者验证想法。\n\n## 环境准备\n\n本项目基于 Python 开发，建议在 Linux、macOS 或 Windows 环境下运行。确保已安装以下基础软件：\n- Python 3.6+\n- pip 或 conda 包管理器\n- Jupyter Notebook\n\n### 前置依赖\n根据官方要求，核心依赖版本如下（兼容更高版本）：\n- `pytorch` >= 1.7.0\n- `numpy` >= 1.17.2\n- `matplotlib` >= 3.1.1\n- `scikit-learn` >= 0.21.3\n- `pytorch-model-summary` >= 0.1.1\n- `jupyter` >= 1.0.0\n\n> **国内加速建议**：推荐使用清华源或阿里源加速 Python 包安装，使用 PyTorch 国内镜像加速框架下载。\n\n## 安装步骤\n\n### 1. 克隆项目\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm.git\ncd intro_dgm\n```\n\n### 2. 创建虚拟环境（推荐）\n```bash\npython -m venv dgm_env\nsource dgm_env\u002Fbin\u002Factivate  # Windows 用户请使用: dgm_env\\Scripts\\activate\n```\n\n### 3. 安装依赖\n使用国内镜像源加速安装：\n```bash\npip install torch numpy matplotlib scikit-learn pytorch-model-summary jupyter -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n若需指定 PyTorch 版本以匹配 CUDA 环境，请访问 [PyTorch 官网](https:\u002F\u002Fpytorch.org\u002Fget-started\u002Flocally\u002F) 获取对应命令，或使用国内镜像：\n```bash\n# 示例：安装 CPU 版本 PyTorch (使用清华源)\npip install torch==1.7.0+cpu torchvision==0.8.0+cpu -f https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Ftorch_stable.html -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n## 基本使用\n\n项目包含多个子文件夹，每个文件夹对应一种生成模型类型的示例。所有示例均为 `.ipynb` 文件，可直接在 Jupyter 中运行。\n\n### 启动 Jupyter Notebook\n在项目根目录下执行：\n```bash\njupyter notebook\n```\n浏览器将自动打开界面，导航至对应的模型文件夹即可。\n\n### 最简单的使用示例：混合高斯模型 (MoG)\n1. 进入 `mog` 目录。\n2. 打开任意 `.ipynb` 文件（如 `mog_example.ipynb`）。\n3. 依次运行单元格，即可看到混合高斯模型的训练过程及可视化结果。\n\n### 其他模型示例路径\n- **自回归模型 (ARMs)**: `.\u002Farms` (含 1D 因果卷积与 Transformer 示例)\n- **流模型 (Flows)**: `.\u002Fflows` (含 RealNVP, IDFs)\n- **变分自编码器 (VAEs)**: `.\u002Fvaes` (含标准先验、层级 VAE 等)\n- **扩散模型 (DDGMs\u002FSBGMs)**: `.\u002Fddgms` 或 `.\u002Fsbgms` (含 Score-based 与 SDE 示例)\n- **生成对抗网络 (GANs)**: `.\u002Fgans`\n- **大语言模型 (LLMs)**: `.\u002Fllms` (名为 teenyGPT 的 Decoder-only Transformer)\n- **神经压缩**: `.\u002Fneural_compression`\n\n> **提示**：代码设计初衷是“每一行都可追踪”，建议在阅读代码的同时对照书籍相关章节学习，以获得最佳效果。","一位刚接触生成式 AI 的算法工程师，试图从零开始复现论文中的深度生成模型以验证新想法，却因数学推导复杂和代码实现困难而举步维艰。\n\n### 没有 intro_dgm 时\n- **理论门槛过高**：面对混合模型、流模型或基于分数的生成模型等复杂概念，缺乏直观的代码示例，难以将抽象的数学公式转化为可运行的逻辑。\n- **环境配置繁琐**：自行搭建实验环境时，常因 PyTorch 版本不兼容或缺少特定依赖库（如 `pytorch-model-summary`）导致报错，浪费数天时间在调试环境而非算法上。\n- **代码黑盒难懂**：网上找到的开源实现往往过于庞大或封装过度，无法逐行理解核心机制，导致只能“调包”而无法真正掌握模型原理。\n- **验证周期漫长**：想要测试一个简单的假设，需要编写大量样板代码，无法在几分钟内完成实验并看到结果，严重拖慢研发迭代速度。\n\n### 使用 intro_dgm 后\n- **概念直观落地**：直接运行书中提供的 Jupyter Notebook 示例，从基础的高斯混合模型到复杂的 Transformer 自回归模型，每一行代码都清晰对应数学原理，瞬间打通理论与实现的任督二脉。\n- **开箱即用体验**：基于明确列出的轻量级依赖清单（如 PyTorch 1.7.0 + NumPy），能在普通笔记本电脑上快速复现所有实验，彻底告别环境配置噩梦。\n- **白盒式学习**：代码设计极简且无过度封装，允许开发者逐行跟踪数据流动，轻松修改参数观察效果，真正理解模型内部运作机制。\n- **极速原型验证**：利用现成的模块化代码作为基石，可在几分钟内构建并测试新的模型变体，将原本需要数天的探索过程压缩至小时级。\n\nintro_dgm 通过提供极简且透明的代码示例，将深奥的生成式建模技术转化为普通人可上手实践的工具，极大降低了学习与创新的门槛。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjmtomczak_intro_dgm_8dedbacc.jpg","jmtomczak","Jakub Tomczak","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fjmtomczak_e1158492.png","GenAI Leader | Research Scientist | Group Leader","Chan Zuckerberg Initiative","San Francisco, USA",null,"jmtomczak.github.io","https:\u002F\u002Fgithub.com\u002Fjmtomczak",[82,86],{"name":83,"color":84,"percentage":85},"Jupyter Notebook","#DA5B0B",96.3,{"name":87,"color":88,"percentage":89},"TeX","#3D6117",3.7,1302,203,"2026-04-18T12:01:15","MIT","未说明",{"notes":96,"python":94,"dependencies":97},"该工具是配套书籍《Deep Generative Modeling》的代码示例，设计目标是在普通笔记本电脑上几分钟内即可运行。所有示例均以 Jupyter Notebook 形式提供，涵盖混合模型、自回归模型、流模型、VAE、扩散模型、GAN 等多种生成式模型。由于依赖库版本较老（如 PyTorch 1.7.0），在现代环境中运行时可能需要调整兼容性。",[98,99,100,101,102,103],"pytorch==1.7.0","numpy==1.17.2","matplotlib==3.1.1","scikit-learn==0.21.3","pytorch-model-summary==0.1.1","jupyter==1.0.0",[14],[106,107,108,109,110,111,112,113,114,115,116],"deep-generative-modelling","variational-autoencoder","flow-based-modeling","autoregressive-modeling","pytorch","generative-adversarial-network","energy-based-model","neural-compression","deep-learning","generative-ai","score-based-generative-modeling","2026-03-27T02:49:30.150509","2026-04-20T07:18:26.459570",[120,125,130],{"id":121,"question_zh":122,"answer_zh":123,"source_url":124},44274,"在重参数化技巧的实现中，公式里的索引 i 是如何使用的？为什么代码中没有体现 beta_i 的变化？","在当前最简单的实现版本中，对于所有步骤 i=1, ..., L，都使用了相同的 beta 值（即 beta_i = beta），因此代码中直接使用单一的 self.beta。虽然理论上让 beta 依赖于索引 i（即使用 beta_i）可以获得更好的结果，但该示例为了简化暂未实现随时间步变化的 beta。","https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Fissues\u002F3",{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},44275,"在欧拉前向采样（Euler forward sampling）的最后，为什么要对结果应用 tanh 函数？","应用 tanh 函数的原因很简单：图像数据已被转换到 [-1, 1] 区间。为了确保生成的像素值严格限制在这个有效范围内（相当于将实数域投影到 [-1, 1]），所以在最后添加了 tanh。这对结果有帮助，但从流匹配（flow matching）的理论角度来看，这并不是强制要求的步骤。","https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Fissues\u002F7",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},44276,"在 ARM 示例的前向传播中，当选项 A 为 True 时，为什么要移除卷积输出的最后一个元素而不是输入？","这主要是为了保证输出尺寸的正确性。代码中通过 `self.padding = (kernel_size - 1) * dilation + A * 1` 增加了额外的填充以正确移位输入。如果不切除最后一个输出元素，输出序列的长度就会比预期大。因此，移除输出的最后一个元素是为了抵消因因果性填充（causal padding）而增加的尺寸，确保输入输出对齐。","https:\u002F\u002Fgithub.com\u002Fjmtomczak\u002Fintro_dgm\u002Fissues\u002F4",[]]