[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-crowsonkb--k-diffusion":3,"tool-crowsonkb--k-diffusion":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},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,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},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 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":80,"owner_email":81,"owner_twitter":82,"owner_website":83,"owner_url":84,"languages":85,"stars":90,"forks":91,"last_commit_at":92,"license":93,"difficulty_score":94,"env_os":95,"env_gpu":96,"env_ram":95,"env_deps":97,"category_tags":105,"github_topics":80,"view_count":23,"oss_zip_url":80,"oss_zip_packed_at":80,"status":16,"created_at":106,"updated_at":107,"faqs":108,"releases":146},3003,"crowsonkb\u002Fk-diffusion","k-diffusion","Karras et al. (2022) diffusion models for PyTorch","k-diffusion 是一个基于 PyTorch 的开源项目，实现了 Karras 等人提出的先进扩散模型算法。它旨在优化生成式 AI 的图像合成过程，通过改进的采样策略和架构设计，显著提升了图像生成的质量、速度与稳定性，解决了传统扩散模型在效率与效果平衡上的痛点。\n\n该项目特别适合 AI 研究人员、深度学习开发者以及希望探索前沿生成模型的工程师使用。虽然普通用户通常通过集成该技术的上层应用间接受益，但其核心代码库更偏向于技术底层的研究与定制开发。\n\nk-diffusion 的核心亮点在于引入了创新的“沙漏扩散 Transformer\"（Hourglass Diffusion Transformer）架构。这种设计巧妙结合了分层处理思想，在模型底层采用高效的稀疏邻域注意力机制（需配合 NATTEN 加速），而在高层使用全局注意力，既保证了细节捕捉能力，又大幅降低了计算资源消耗。此外，它还全面支持 `torch.compile` 加速和混合精度训练，为构建高性能图像生成模型提供了灵活且强大的基础框架。无论是复现经典论文成果，还是研发新型 Transformer 扩散模型，k-diffu","k-diffusion 是一个基于 PyTorch 的开源项目，实现了 Karras 等人提出的先进扩散模型算法。它旨在优化生成式 AI 的图像合成过程，通过改进的采样策略和架构设计，显著提升了图像生成的质量、速度与稳定性，解决了传统扩散模型在效率与效果平衡上的痛点。\n\n该项目特别适合 AI 研究人员、深度学习开发者以及希望探索前沿生成模型的工程师使用。虽然普通用户通常通过集成该技术的上层应用间接受益，但其核心代码库更偏向于技术底层的研究与定制开发。\n\nk-diffusion 的核心亮点在于引入了创新的“沙漏扩散 Transformer\"（Hourglass Diffusion Transformer）架构。这种设计巧妙结合了分层处理思想，在模型底层采用高效的稀疏邻域注意力机制（需配合 NATTEN 加速），而在高层使用全局注意力，既保证了细节捕捉能力，又大幅降低了计算资源消耗。此外，它还全面支持 `torch.compile` 加速和混合精度训练，为构建高性能图像生成模型提供了灵活且强大的基础框架。无论是复现经典论文成果，还是研发新型 Transformer 扩散模型，k-diffusion 都是值得关注的技术基石。","# k-diffusion\n\n[![DOI](https:\u002F\u002Fzenodo.org\u002Fbadge\u002FDOI\u002F10.5281\u002Fzenodo.10284390.svg)](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.10284390)\n\nAn implementation of [Elucidating the Design Space of Diffusion-Based Generative Models](https:\u002F\u002Farxiv.org\u002Fabs\u002F2206.00364) (Karras et al., 2022) for PyTorch, with enhancements and additional features, such as improved sampling algorithms and transformer-based diffusion models.\n\n## Hourglass diffusion transformer\n\n`k-diffusion` contains a new model type, `image_transformer_v2`, that uses ideas from [Hourglass Transformer](https:\u002F\u002Farxiv.org\u002Fabs\u002F2110.13711) and [DiT](https:\u002F\u002Farxiv.org\u002Fabs\u002F2212.09748).\n\n### Requirements\n\nTo use the new model type you will need to install custom CUDA kernels:\n\n* [NATTEN](https:\u002F\u002Fgithub.com\u002FSHI-Labs\u002FNATTEN\u002Ftree\u002Fmain) for the sparse (neighborhood) attention used at low levels of the hierarchy. There is a [shifted window attention](https:\u002F\u002Farxiv.org\u002Fabs\u002F2103.14030) version of the model type which does not require a custom CUDA kernel, but it does not perform as well and is slower to train and inference.\n\n* [FlashAttention-2](https:\u002F\u002Fgithub.com\u002FDao-AILab\u002Fflash-attention) for global attention. It will fall back to plain PyTorch if it is not installed.\n\nAlso, you should make sure your PyTorch installation is capable of using `torch.compile()`. It will fall back to eager mode if `torch.compile()` is not available, but it will be slower and use more memory in training.\n\n### Usage\n\n#### Demo\n\nTo train a 256x256 RGB model on [Oxford Flowers](https:\u002F\u002Fwww.robots.ox.ac.uk\u002F~vgg\u002Fdata\u002Fflowers) without installing custom CUDA kernels, install [Hugging Face Datasets](https:\u002F\u002Fhuggingface.co\u002Fdocs\u002Fdatasets\u002Findex):\n\n```sh\npip install datasets\n```\n\nand run:\n\n```sh\npython train.py --config configs\u002Fconfig_oxford_flowers_shifted_window.json --name flowers_demo_001 --evaluate-n 0 --batch-size 32 --sample-n 36 --mixed-precision bf16\n```\n\nIf you run out of memory, try adding `--checkpointing` or reducing the batch size. If you are using an older GPU (pre-Ampere), omit `--mixed-precision bf16` to train in FP32. It is not recommended to train in FP16.\n\nIf you have NATTEN installed and working (preferred), you can train with neighborhood attention instead of shifted window attention by specifying `--config configs\u002Fconfig_oxford_flowers.json`.\n\n#### Config file\n\nIn the `\"model\"` key of the config file:\n\n1. Set the `\"type\"` key to `\"image_transformer_v2\"`.\n\n1. The base patch size is set by the `\"patch_size\"` key, like `\"patch_size\": [4, 4]`.\n\n1. Model depth for each level of the hierarchy is specified by the `\"depths\"` config key, like `\"depths\": [2, 2, 4]`. This constructs a model with two transformer layers at the first level (4x4 patches), followed by two at the second level (8x8 patches), followed by four at the highest level (16x16 patches), followed by two more at the second level, followed by two more at the first level.\n\n1. Model width for each level of the hierarchy is specified by the `\"widths\"` config key, like `\"widths\": [192, 384, 768]`. The widths must be multiples of the attention head dimension.\n\n1. The self-attention mechanism for each level of the hierarchy is specified by the `\"self_attns\"` config key, like:\n\n    ```json\n    \"self_attns\": [\n        {\"type\": \"neighborhood\", \"d_head\": 64, \"kernel_size\": 7},\n        {\"type\": \"neighborhood\", \"d_head\": 64, \"kernel_size\": 7},\n        {\"type\": \"global\", \"d_head\": 64},\n    ]\n    ```\n\n    If not specified, all levels of the hierarchy except for the highest use neighborhood attention with 64 dim heads and a 7x7 kernel. The highest level uses global attention with 64 dim heads. So the token count at every level but the highest can be very large.\n\n1. As a fallback if you or your users cannot use NATTEN, you can also train a model with [shifted window attention](https:\u002F\u002Farxiv.org\u002Fabs\u002F2103.14030) at the low levels of the hierarchy. Shifted window attention does not perform as well as neighborhood attention and it is slower to train and inference, but it does not require custom CUDA kernels. Specify it like:\n\n    ```json\n    \"self_attns\": [\n        {\"type\": \"shifted-window\", \"d_head\": 64, \"window_size\": 8},\n        {\"type\": \"shifted-window\", \"d_head\": 64, \"window_size\": 8},\n        {\"type\": \"global\", \"d_head\": 64},\n    ]\n    ```\n\n    The window size at each level must evenly divide the image size at that level. Models trained with one attention type must be fine-tuned to be used with a different type.\n\n#### Inference\n\nTODO: write this section\n\n## Installation\n\n`k-diffusion` can be installed via PyPI (`pip install k-diffusion`) but it will not include training and inference scripts, only library code that others can depend on. To run the training and inference scripts, clone this repository and run `pip install -e \u003Cpath to repository>`.\n\n## Training\n\nTo train models:\n\n```sh\n$ .\u002Ftrain.py --config CONFIG_FILE --name RUN_NAME\n```\n\nFor instance, to train a model on MNIST:\n\n```sh\n$ .\u002Ftrain.py --config configs\u002Fconfig_mnist_transformer.json --name RUN_NAME\n```\n\nThe configuration file allows you to specify the dataset type. Currently supported types are `\"imagefolder\"` (finds all images in that folder and its subfolders, recursively), `\"cifar10\"` (CIFAR-10), and `\"mnist\"` (MNIST). `\"huggingface\"` [Hugging Face Datasets](https:\u002F\u002Fhuggingface.co\u002Fdocs\u002Fdatasets\u002Findex) is also supported.\n\nMulti-GPU and multi-node training is supported with [Hugging Face Accelerate](https:\u002F\u002Fhuggingface.co\u002Fdocs\u002Faccelerate\u002Findex). You can configure Accelerate by running:\n\n```sh\n$ accelerate config\n```\n\nthen running:\n\n```sh\n$ accelerate launch train.py --config CONFIG_FILE --name RUN_NAME\n```\n\n## Enhancements\u002Fadditional features\n\n- k-diffusion supports a highly efficient hierarchical transformer model type.\n\n- k-diffusion supports a soft version of [Min-SNR loss weighting](https:\u002F\u002Farxiv.org\u002Fabs\u002F2303.09556) for improved training at high resolutions with less hyperparameters than the loss weighting used in Karras et al. (2022).\n\n- k-diffusion has wrappers for [v-diffusion-pytorch](https:\u002F\u002Fgithub.com\u002Fcrowsonkb\u002Fv-diffusion-pytorch), [OpenAI diffusion](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fguided-diffusion), and [CompVis diffusion](https:\u002F\u002Fgithub.com\u002FCompVis\u002Flatent-diffusion) models allowing them to be used with its samplers and ODE\u002FSDE.\n\n- k-diffusion implements [DPM-Solver](https:\u002F\u002Farxiv.org\u002Fabs\u002F2206.00927), which produces higher quality samples at the same number of function evalutions as Karras Algorithm 2, as well as supporting adaptive step size control. [DPM-Solver++(2S) and (2M)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2211.01095) are implemented now too for improved quality with low numbers of steps.\n\n- k-diffusion supports [CLIP](https:\u002F\u002Fopenai.com\u002Fblog\u002Fclip\u002F) guided sampling from unconditional diffusion models (see `sample_clip_guided.py`).\n\n- k-diffusion supports log likelihood calculation (not a variational lower bound) for native models and all wrapped models.\n\n- k-diffusion can calculate, during training, the [FID](https:\u002F\u002Fpapers.nips.cc\u002Fpaper\u002F2017\u002Ffile\u002F8a1d694707eb0fefe65871369074926d-Paper.pdf) and [KID](https:\u002F\u002Farxiv.org\u002Fabs\u002F1801.01401) vs the training set.\n\n- k-diffusion can calculate, during training, the gradient noise scale (1 \u002F SNR), from _An Empirical Model of Large-Batch Training_, https:\u002F\u002Farxiv.org\u002Fabs\u002F1812.06162).\n\n## To do\n\n- Latent diffusion\n","# k-diffusion\n\n[![DOI](https:\u002F\u002Fzenodo.org\u002Fbadge\u002FDOI\u002F10.5281\u002Fzenodo.10284390.svg)](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.10284390)\n\n这是 [Elucidating the Design Space of Diffusion-Based Generative Models](https:\u002F\u002Farxiv.org\u002Fabs\u002F2206.00364)（Karras 等，2022）在 PyTorch 上的实现，并进行了增强和添加了额外功能，例如改进的采样算法以及基于 Transformer 的扩散模型。\n\n## Hourglass 扩散 Transformer\n\n`k-diffusion` 包含一种新的模型类型 `image_transformer_v2`，它借鉴了 [Hourglass Transformer](https:\u002F\u002Farxiv.org\u002Fabs\u002F2110.13711) 和 [DiT](https:\u002F\u002Farxiv.org\u002Fabs\u002F2212.09748) 中的思想。\n\n### 要求\n\n要使用这种新模型类型，您需要安装自定义的 CUDA 内核：\n\n* [NATTEN](https:\u002F\u002Fgithub.com\u002FSHI-Labs\u002FNATTEN\u002Ftree\u002Fmain) 用于在层次结构的低层使用的稀疏（邻域）注意力机制。该模型类型还有一个 [移位窗口注意力](https:\u002F\u002Farxiv.org\u002Fabs\u002F2103.14030) 版本，不需要自定义 CUDA 内核，但性能较差，训练和推理速度也较慢。\n\n* [FlashAttention-2](https:\u002F\u002Fgithub.com\u002FDao-AILab\u002Fflash-attention) 用于全局注意力机制。如果未安装，将回退到普通的 PyTorch 实现。\n\n此外，您还需要确保您的 PyTorch 安装支持 `torch.compile()`。如果无法使用 `torch.compile()`，则会回退到急切模式，但这会导致训练速度变慢并占用更多内存。\n\n### 使用方法\n\n#### 演示\n\n要在不安装自定义 CUDA 内核的情况下，在 [Oxford Flowers](https:\u002F\u002Fwww.robots.ox.ac.uk\u002F~vgg\u002Fdata\u002Fflowers) 数据集上训练一个 256x256 RGB 模型，请先安装 [Hugging Face Datasets](https:\u002F\u002Fhuggingface.co\u002Fdocs\u002Fdatasets\u002Findex)：\n\n```sh\npip install datasets\n```\n\n然后运行以下命令：\n\n```sh\npython train.py --config configs\u002Fconfig_oxford_flowers_shifted_window.json --name flowers_demo_001 --evaluate-n 0 --batch-size 32 --sample-n 36 --mixed-precision bf16\n```\n\n如果出现内存不足的情况，可以尝试添加 `--checkpointing` 参数或减少批次大小。如果您使用的是较旧的 GPU（Ampere 之前），请省略 `--mixed-precision bf16` 以在 FP32 下进行训练。不建议使用 FP16 进行训练。\n\n如果您已经安装并正确配置了 NATTEN（推荐），可以通过指定 `--config configs\u002Fconfig_oxford_flowers.json` 来使用邻域注意力代替移位窗口注意力进行训练。\n\n#### 配置文件\n\n在配置文件的 `\"model\"` 键中：\n\n1. 将 `\"type\"` 键设置为 `\"image_transformer_v2\"`。\n\n1. 基础补丁大小由 `\"patch_size\"` 键指定，例如 `\"patch_size\": [4, 4]`。\n\n1. 层次结构中每一层的模型深度由 `\"depths\"` 配置键指定，例如 `\"depths\": [2, 2, 4]`。这将构建一个模型：第一层（4x4 补丁）有两个 Transformer 层，第二层（8x8 补丁）也有两个，最高层（16x16 补丁）有四个，随后在第二层再加两个，最后在第一层再加两个。\n\n1. 层次结构中每一层的模型宽度由 `\"widths\"` 配置键指定，例如 `\"widths\": [192, 384, 768]`。宽度必须是注意力头维度的倍数。\n\n1. 层次结构中每一层的自注意力机制由 `\"self_attns\"` 配置键指定，例如：\n\n    ```json\n    \"self_attns\": [\n        {\"type\": \"neighborhood\", \"d_head\": 64, \"kernel_size\": 7},\n        {\"type\": \"neighborhood\", \"d_head\": 64, \"kernel_size\": 7},\n        {\"type\": \"global\", \"d_head\": 64},\n    ]\n    ```\n\n    如果未指定，则除最高层外的所有层级都将使用具有 64 维头和 7x7 核心的邻域注意力。最高层则使用具有 64 维头的全局注意力。因此，除了最高层之外，其他层级的 token 数量可能会非常大。\n\n1. 作为备选方案，如果您或您的用户无法使用 NATTEN，也可以在层次结构的低层使用 [移位窗口注意力](https:\u002F\u002Farxiv.org\u002Fabs\u002F2103.14030) 训练模型。移位窗口注意力的性能不如邻域注意力，且训练和推理速度较慢，但它不需要自定义 CUDA 内核。您可以这样指定：\n\n    ```json\n    \"self_attns\": [\n        {\"type\": \"shifted-window\", \"d_head\": 64, \"window_size\": 8},\n        {\"type\": \"shifted-window\", \"d_head\": 64, \"window_size\": 8},\n        {\"type\": \"global\", \"d_head\": 64},\n    ]\n    ```\n\n    每一层的窗口大小必须能整除该层图像的尺寸。使用一种注意力机制训练的模型，必须经过微调才能用于另一种注意力机制。\n\n#### 推理\n\n待补充：此部分尚未编写。\n\n## 安装\n\n`k-diffusion` 可以通过 PyPI 安装（`pip install k-diffusion`），但这样不会包含训练和推理脚本，只提供可供其他项目依赖的库代码。要运行训练和推理脚本，您需要克隆本仓库，并执行 `pip install -e \u003C仓库路径>`。\n\n## 训练\n\n要训练模型，可以使用以下命令：\n\n```sh\n$ .\u002Ftrain.py --config CONFIG_FILE --name RUN_NAME\n```\n\n例如，要在 MNIST 数据集上训练一个模型：\n\n```sh\n$ .\u002Ftrain.py --config configs\u002Fconfig_mnist_transformer.json --name RUN_NAME\n```\n\n配置文件允许您指定数据集类型。目前支持的类型包括 `\"imagefolder\"`（递归查找该文件夹及其子文件夹中的所有图像）、`\"cifar10\"`（CIFAR-10）和 `\"mnist\"`（MNIST）。此外还支持 `\"huggingface\"` 类型，即 [Hugging Face Datasets](https:\u002F\u002Fhuggingface.co\u002Fdocs\u002Fdatasets\u002Findex)。\n\n多 GPU 和多节点训练可通过 [Hugging Face Accelerate](https:\u002F\u002Fhuggingface.co\u002Fdocs\u002Faccelerate\u002Findex) 实现。您可以先运行以下命令来配置 Accelerate：\n\n```sh\n$ accelerate config\n```\n\n然后运行：\n\n```sh\n$ accelerate launch train.py --config CONFIG_FILE --name RUN_NAME\n```\n\n## 增强\u002F附加功能\n\n- k-diffusion 支持一种高效的分层 Transformer 模型类型。\n\n- k-diffusion 支持 [Min-SNR 损失加权](https:\u002F\u002Farxiv.org\u002Fabs\u002F2303.09556) 的软版本，用于在高分辨率下进行改进的训练，且所需的超参数比 Karras 等人（2022）使用的损失加权更少。\n\n- k-diffusion 为 [v-diffusion-pytorch](https:\u002F\u002Fgithub.com\u002Fcrowsonkb\u002Fv-diffusion-pytorch)、[OpenAI diffusion](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fguided-diffusion) 和 [CompVis diffusion](https:\u002F\u002Fgithub.com\u002FCompVis\u002Flatent-diffusion) 模型提供了封装器，使其能够与 k-diffusion 的采样器以及 ODE\u002FSDE 方法一起使用。\n\n- k-diffusion 实现了 [DPM-Solver](https:\u002F\u002Farxiv.org\u002Fabs\u002F2206.00927)，该方法在与 Karras 算法 2 相同的函数评估次数下能够生成更高质量的样本，并支持自适应步长控制。此外，现在还实现了 [DPM-Solver++(2S) 和 (2M)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2211.01095)，以在较少步数的情况下进一步提升生成质量。\n\n- k-diffusion 支持从无条件扩散模型中进行 [CLIP](https:\u002F\u002Fopenai.com\u002Fblog\u002Fclip\u002F) 引导的采样（参见 `sample_clip_guided.py`）。\n\n- k-diffusion 支持对原生模型和所有封装模型计算对数似然值（而非变分下界）。\n\n- k-diffusion 在训练过程中可以计算与训练集相比的 [FID](https:\u002F\u002Fpapers.nips.cc\u002Fpaper\u002F2017\u002Ffile\u002F8a1d694707eb0fefe65871369074926d-Paper.pdf) 和 [KID](https:\u002F\u002Farxiv.org\u002Fabs\u002F1801.01401) 指标。\n\n- k-diffusion 在训练过程中还可以根据 _大型批量训练的经验模型_（https:\u002F\u002Farxiv.org\u002Fabs\u002F1812.06162），计算梯度噪声尺度（1 \u002F SNR）。\n\n## 待办事项\n\n- 隐式扩散","# k-diffusion 快速上手指南\n\nk-diffusion 是一个基于 PyTorch 的扩散模型实现库，源自论文《Elucidating the Design Space of Diffusion-Based Generative Models》。它提供了高效的采样算法（如 DPM-Solver）、改进的损失函数以及新型的分层 Transformer 架构（Hourglass Diffusion Transformer）。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**: Linux (推荐) 或 macOS\n- **GPU**: NVIDIA GPU (支持 CUDA)，建议使用 Ampere 架构或更新版本以启用 `bf16` 混合精度训练。\n- **Python**: 3.8+\n- **PyTorch**: 需安装支持 `torch.compile()` 的版本以获得最佳性能。\n\n### 前置依赖\n若使用新型的 `image_transformer_v2` 模型（分层 Transformer），建议安装以下自定义 CUDA 内核以提升训练和推理速度：\n1. **NATTEN**: 用于低层级的稀疏邻域注意力机制。\n2. **FlashAttention-2**: 用于全局注意力机制（未安装时会自动回退到原生 PyTorch 实现）。\n\n> **注意**：若不安装 NATTEN，可使用“移位窗口注意力”（shifted window attention）模式，该模式无需自定义内核，但性能和速度略低。\n\n## 安装步骤\n\n### 1. 克隆仓库并安装\n为了运行训练和推理脚本，建议从源码安装（可编辑模式）：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fcrowsonkb\u002Fk-diffusion.git\ncd k-diffusion\npip install -e .\n```\n\n> **国内加速提示**：如果下载速度慢，可配置 pip 使用国内镜像源（如清华源）：\n> ```bash\n> pip install -e . -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> ```\n\n### 2. 安装可选依赖（针对高性能 Transformer 模型）\n如果需要训练 `image_transformer_v2` 模型，请安装以下组件：\n\n```bash\n# 安装 Hugging Face Datasets (用于数据加载)\npip install datasets\n\n# 安装 FlashAttention-2\npip install flash-attn --no-build-isolation\n\n# 安装 NATTEN (需根据官方文档编译，此处为通用安装命令示例)\npip install natten\n```\n\n### 3. 配置多 GPU 环境（可选）\n若需进行多卡或多节点训练，需配置 Hugging Face Accelerate：\n\n```bash\naccelerate config\n```\n\n## 基本使用\n\n### 快速演示：训练一个简易模型\n以下示例展示如何在 Oxford Flowers 数据集上训练一个 256x256 的 RGB 模型。此命令**无需**安装自定义 CUDA 内核（使用移位窗口注意力），适合快速验证环境。\n\n1. **确保已安装 datasets 库**：\n   ```bash\n   pip install datasets\n   ```\n\n2. **运行训练脚本**：\n   ```bash\n   python train.py --config configs\u002Fconfig_oxford_flowers_shifted_window.json --name flowers_demo_001 --evaluate-n 0 --batch-size 32 --sample-n 36 --mixed-precision bf16\n   ```\n\n   **参数说明与调整建议**：\n   - `--mixed-precision bf16`: 启用 bf16 混合精度加速。**注意**：如果您使用的是 Ampere 之前的旧款 GPU，请移除此参数以使用 FP32 训练（不建议使用 FP16）。\n   - **显存不足时**：添加 `--checkpointing` 参数或减小 `--batch-size`。\n\n3. **使用高性能模式（可选）**：\n   如果您已成功安装 **NATTEN**，可以使用邻域注意力（性能更好）进行训练：\n   ```bash\n   python train.py --config configs\u002Fconfig_oxford_flowers.json --name flowers_demo_001 --evaluate-n 0 --batch-size 32 --sample-n 36 --mixed-precision bf16\n   ```\n\n### 配置文件关键点\n若要自定义模型架构（在配置文件的 `\"model\"` 字段中）：\n- **类型**: 设置 `\"type\": \"image_transformer_v2\"`。\n- **层级深度**: 通过 `\"depths\"` 定义每层的 Transformer 层数（例如 `[2, 2, 4]` 表示沙漏型结构）。\n- **注意力机制**: 通过 `\"self_attns\"` 定义。\n  - 推荐配置（需 NATTEN）：低层使用 `\"neighborhood\"`，顶层使用 `\"global\"`。\n  - 兼容配置（无 NATTEN）：低层使用 `\"shifted-window\"`。\n\n### 其他训练场景\n支持的数据集类型包括本地文件夹 (`imagefolder`)、CIFAR-10、MNIST 以及 Hugging Face 数据集。\n\n**单卡训练示例 (MNIST)**:\n```bash\n.\u002Ftrain.py --config configs\u002Fconfig_mnist_transformer.json --name mnist_run\n```\n\n**多卡训练示例**:\n```bash\naccelerate launch train.py --config configs\u002Fconfig_mnist_transformer.json --name mnist_run_multi\n```","某 AI 艺术工作室正在为高端时尚品牌训练专属的布料纹理生成模型，需要在有限显存下实现高分辨率与细节的完美平衡。\n\n### 没有 k-diffusion 时\n- 传统扩散模型在生成 256x256 以上高清纹理时，显存占用极易溢出，迫使团队大幅降低分辨率或缩减批次大小，严重拖慢迭代速度。\n- 使用普通的窗口注意力机制处理局部细节时，生成的布料纹理往往出现重复伪影或边缘断裂，缺乏自然连贯的微观结构。\n- 由于缺乏高效的采样算法，每次预览生成都需要数百步迭代，设计师等待结果的时间过长，难以进行实时创意调整。\n- 模型架构僵化，无法灵活调整不同层级的注意力机制，导致在捕捉全局图案布局与局部纤维质感之间顾此失彼。\n\n### 使用 k-diffusion 后\n- 借助 Hourglass Diffusion Transformer 架构与 FlashAttention-2 支持，团队能在单卡上流畅训练高分辨率模型，显存效率显著提升，批次大小得以恢复。\n- 通过配置 NATTEN 邻域注意力内核，生成的布料纹理在微观层面呈现出自然的随机性与连续性，彻底消除了机械重复的视觉瑕疵。\n- 利用 Karras 等人提出的改进采样算法，生成高质量预览图所需的步数大幅减少，设计师可在几分钟内获得反馈并快速修正提示词。\n- 灵活的分层配置允许在底层使用邻域注意力捕捉纤维细节，在顶层使用全局注意力把控整体花纹，实现了宏观与微观的双重优化。\n\nk-diffusion 通过先进的架构设计与高效算力利用，让高分辨率、高保真的定制化图像生成从理论走向低成本落地。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcrowsonkb_k-diffusion_a0a99391.png","crowsonkb","Katherine Crowson","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fcrowsonkb_e17f5396.png","AI\u002Fgenerative artist.",null,"crowsonkb@gmail.com","RiversHaveWings","https:\u002F\u002Fkath.io\u002F","https:\u002F\u002Fgithub.com\u002Fcrowsonkb",[86],{"name":87,"color":88,"percentage":89},"Python","#3572A5",100,2577,399,"2026-04-01T23:29:51","MIT",4,"未说明","强烈建议使用支持 CUDA 的 NVIDIA GPU。若要使用高性能的 'image_transformer_v2' 模型（邻域注意力），必须安装自定义 CUDA 内核 (NATTEN)，通常仅限 Linux 环境；若使用旧版 GPU (Ampere 架构之前)，需禁用 bf16 混合精度并使用 FP32 训练；显存需求取决于批次大小和分辨率，文档建议若显存不足可减少 batch size 或启用 checkpointing。",{"notes":98,"python":95,"dependencies":99},"1. 核心特性：实现了基于 Hourglass Transformer 和 DiT 思想的 'image_transformer_v2' 模型。2. 性能优化：为了获得最佳训练和推理速度，必须安装 NATTEN 和 FlashAttention-2 自定义 CUDA 内核；若未安装，系统将回退到标准 PyTorch 实现（ shifted window attention），但速度较慢且性能略差。3. 编译加速：确保 PyTorch 版本支持 'torch.compile()'，否则将回退到 eager 模式，导致训练变慢且显存占用更高。4. 精度建议：推荐使用 bf16 混合精度训练；旧款 GPU 需使用 FP32；不建议使用 FP16。5. 安装方式：通过 PyPI 安装仅包含库代码，若需运行训练和推理脚本，必须克隆仓库并使用 'pip install -e' 进行本地安装。",[100,101,102,103,104],"torch (需支持 torch.compile)","NATTEN (可选，用于稀疏邻域注意力)","FlashAttention-2 (可选，用于全局注意力)","datasets (Hugging Face Datasets)","accelerate (用于多 GPU\u002F多节点训练)",[14,13],"2026-03-27T02:49:30.150509","2026-04-06T05:16:40.233415",[109,114,118,123,128,133,138,142],{"id":110,"question_zh":111,"answer_zh":112,"source_url":113},13835,"如何让采样器接受用户自定义的随机噪声数据以实现批量生成的可复现性？","该功能已被实现。现在采样器支持传入自定义的随机噪声数据，从而允许用户在批量生成图像时为每张图像指定独立的种子，确保结果可单独复现。这解决了之前因采样器内部循环调用 torch.randn 导致批量生成与单张生成结果不一致的问题。","https:\u002F\u002Fgithub.com\u002Fcrowsonkb\u002Fk-diffusion\u002Fissues\u002F25",{"id":115,"question_zh":116,"answer_zh":117,"source_url":113},13836,"为什么 sample_dpm_adaptive 生成的图像与 sample_dpmpp_2s_ancestral 不同，如何调整参数使其收敛到相似结果？","默认情况下 sample_dpm_adaptive 的 eta 为 0，此时不使用随机噪声，导致结果差异。要获得类似 sample_dpmpp_2s_ancestral 的效果，需要将 eta 设置为非零值（如 0.734375 或 0.75）。此外，将 rtol 减半至 0.025 也有助于改善收敛效果，使生成的图像特征（如袖子细节）更接近目标。",{"id":119,"question_zh":120,"answer_zh":121,"source_url":122},13837,"如何在 k-diffusion 中复现 cleanfid 的标准 FID 计算结果？","已实现标准 FID 支持。关键在于图像预处理步骤需与 cleanfid 保持一致：使用 resize_right 库进行图像缩放时，必须设置 pad_mode=\"reflect\"。同时注意 FID 和 KID 计算存在差异，特别是 KID 具有随机性，需确保模型和预处理流程完全对齐才能复现结果。","https:\u002F\u002Fgithub.com\u002Fcrowsonkb\u002Fk-diffusion\u002Fissues\u002F7",{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},13838,"为什么在 A1111 WebUI 中看不到 DPM Solver 和 DPM Solver++ 选项？","维护者已添加了 DPM-Solver 的 2S（二阶单步）和 2M（二阶多步）变体。如果 WebUI 中仍未显示，请确保使用的是最新版本的 k-diffusion 库。注意：3M（三阶多步）变体虽曾尝试实现，但在引导采样（conditional sampling）中大指导尺度下难以收敛，图像质量较差，因此未作为首选推荐。","https:\u002F\u002Fgithub.com\u002Fcrowsonkb\u002Fk-diffusion\u002Fissues\u002F40",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},13839,"DPM++2M SDE 的实现是否正确？是否有更准确的 SDE 变体？","已更新为正确的反向扩散 SDE 求解器版本。之前的实现是单步求解器，新的提交（commit 962d62b）实现了线性多步求解器版本，该版本在 DeepFloyd-IF 等模型上表现更佳。建议更新至最新版本以使用修正后的 SDE 变体。","https:\u002F\u002Fgithub.com\u002Fcrowsonkb\u002Fk-diffusion\u002Fissues\u002F59",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},13840,"sample_heun 和 sample_lms 分别是随机采样器还是确定性采样器？","sample_heun 代表随机采样（stochastic sampling），而 sample_lms 代表确定性采样（deterministic sampler）。这是基于 Karras 理论的实现，前者在采样过程中引入噪声，后者则完全由初始噪声决定输出结果。","https:\u002F\u002Fgithub.com\u002Fcrowsonkb\u002Fk-diffusion\u002Fissues\u002F6",{"id":139,"question_zh":140,"answer_zh":141,"source_url":137},13841,"当前实现是否支持论文中提到的 Stmin 和 Stmax 参数？","根据讨论，当前代码实现中尚未包含 Stmin 和 Stmax 参数的显式支持。这些参数通常用于控制随机采样的时间范围，如需使用可能需要自行修改 sampling.py 或在调用时通过额外参数传递逻辑。",{"id":143,"question_zh":144,"answer_zh":145,"source_url":127},13842,"在高指导尺度（large guidance scales）下进行引导采样时，应该选择哪种 DPM-Solver 变体？","研究表明，在高指导尺度下，高阶求解器（high-order solvers）往往无法在少量步数内收敛。因此，对于条件引导采样（conditional\u002Fguided sampling），推荐使用 2M 变体而非 3M；3M 更适合无条件采样（unconditional sampling）。",[147,151,155,159,163,167,171,175,179,183,187,191,195,199,203,207,211],{"id":148,"version":149,"summary_zh":80,"released_at":150},72777,"v0.1.1.post1","2023-12-07T13:26:58",{"id":152,"version":153,"summary_zh":80,"released_at":154},72778,"v0.1.1","2023-10-10T06:48:02",{"id":156,"version":157,"summary_zh":80,"released_at":158},72779,"v0.1.0","2023-09-24T00:34:22",{"id":160,"version":161,"summary_zh":80,"released_at":162},72780,"v0.0.16","2023-08-12T19:01:23",{"id":164,"version":165,"summary_zh":80,"released_at":166},72781,"v0.0.15","2023-05-21T00:53:56",{"id":168,"version":169,"summary_zh":80,"released_at":170},72782,"v0.0.14","2023-02-06T15:50:52",{"id":172,"version":173,"summary_zh":80,"released_at":174},72783,"v0.0.13","2023-02-06T15:40:37",{"id":176,"version":177,"summary_zh":80,"released_at":178},72784,"v0.0.12","2022-11-23T21:09:33",{"id":180,"version":181,"summary_zh":80,"released_at":182},72785,"v0.0.11","2022-11-20T06:51:10",{"id":184,"version":185,"summary_zh":80,"released_at":186},72786,"v0.0.10","2022-11-04T23:00:12",{"id":188,"version":189,"summary_zh":80,"released_at":190},72787,"v0.0.9","2022-10-05T12:52:04",{"id":192,"version":193,"summary_zh":80,"released_at":194},72788,"v0.0.8","2022-10-01T09:07:02",{"id":196,"version":197,"summary_zh":80,"released_at":198},72789,"v0.0.7","2022-09-30T23:22:16",{"id":200,"version":201,"summary_zh":80,"released_at":202},72790,"v0.0.6","2022-09-30T23:13:47",{"id":204,"version":205,"summary_zh":80,"released_at":206},72791,"v0.0.5","2022-09-30T23:07:03",{"id":208,"version":209,"summary_zh":80,"released_at":210},72792,"v0.0.4","2022-09-30T22:12:27",{"id":212,"version":213,"summary_zh":80,"released_at":214},72793,"v0.0.3","2022-09-30T21:54:53"]