[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-yingkaisha--keras-unet-collection":3,"tool-yingkaisha--keras-unet-collection":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":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":79,"owner_website":80,"owner_url":81,"languages":82,"stars":87,"forks":88,"last_commit_at":89,"license":90,"difficulty_score":91,"env_os":92,"env_gpu":93,"env_ram":92,"env_deps":94,"category_tags":100,"github_topics":101,"view_count":32,"oss_zip_url":79,"oss_zip_packed_at":79,"status":17,"created_at":116,"updated_at":117,"faqs":118,"releases":153},6085,"yingkaisha\u002Fkeras-unet-collection","keras-unet-collection","The Tensorflow, Keras implementation of U-net, V-net, U-net++, UNET 3+, Attention U-net, R2U-net, ResUnet-a, U^2-Net, TransUNET, and Swin-UNET with optional ImageNet-trained backbones.","keras-unet-collection 是一个基于 TensorFlow 和 Keras 构建的开源模型库，专注于提供多种先进的图像分割网络实现。它一站式集成了从经典的 U-net、V-net 到前沿的 TransUNET、Swin-UNET 等十种主流架构，旨在解决研究人员和开发者在复现复杂论文模型时面临的代码从零编写难、环境配置繁琐以及预训练权重缺失等痛点。\n\n该工具特别适合从事计算机视觉研究的学者、算法工程师以及需要快速验证分割方案的技术团队使用。其核心亮点在于不仅提供了完整的模型调用接口，还支持加载 ImageNet 预训练骨干网络以加速收敛，并针对部分模型实现了深度监督功能。此外，库内还附带了 GELU、Snake 等特色激活函数以及 Dice、Tversky 等专为分割任务优化的损失函数。对于希望深入定制架构的用户，它还开放了基础模块构建函数，方便进行二次开发与调试。无论是用于医学影像分析还是遥感图像处理，keras-unet-collection 都能帮助用户高效地将理论模型转化为实际可用的解决方案。","# keras-unet-collection\n\n[![PyPI version](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fkeras-unet-collection.svg)](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fkeras-unet-collection)\n[![PyPI license](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fl\u002Fkeras-unet-collection.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fkeras-unet-collection\u002F)\n[![Maintenance](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FMaintained%3F-yes-green.svg)](https:\u002F\u002Fgithub.com\u002Fyingkaisha\u002Fkeras-unet-collection\u002Fgraphs\u002Fcommit-activity)\n\n[![DOI](https:\u002F\u002Fzenodo.org\u002Fbadge\u002F323426984.svg)](https:\u002F\u002Fzenodo.org\u002Fbadge\u002Flatestdoi\u002F323426984)\n\nThe `tensorflow.keras` implementation of U-net, V-net, U-net++, UNET 3+, Attention U-net, R2U-net, ResUnet-a, U^2-Net, TransUNET, and Swin-UNET with optional ImageNet-trained backbones.\n\n----------\n\n`keras_unet_collection.models` contains functions that configure keras models with hyper-parameter options. \n\n* Pre-trained ImageNet backbones are supported for U-net, U-net++, UNET 3+, Attention U-net, and TransUNET.\n* Deep supervision is supported for U-net++, UNET 3+, and U^2-Net.\n* See the [User guide](https:\u002F\u002Fgithub.com\u002Fyingkaisha\u002Fkeras-unet-collection\u002Fblob\u002Fmain\u002Fexamples\u002Fuser_guide_models.ipynb) for other options and use cases.\n\n| `keras_unet_collection.models` | Name | Reference |\n|:---------------|:----------------|:----------------|\n| `unet_2d`      | U-net           | [Ronneberger et al. (2015)](https:\u002F\u002Flink.springer.com\u002Fchapter\u002F10.1007\u002F978-3-319-24574-4_28) |\n| `vnet_2d`      | V-net (modified for 2-d inputs) | [Milletari et al. (2016)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1606.04797) |\n| `unet_plus_2d` | U-net++         | [Zhou et al. (2018)](https:\u002F\u002Flink.springer.com\u002Fchapter\u002F10.1007\u002F978-3-030-00889-5_1) |\n| `r2_unet_2d`   | R2U-Net         | [Alom et al. (2018)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1802.06955) |\n| `att_unet_2d`  | Attention U-net | [Oktay et al. (2018)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1804.03999) |\n| `resunet_a_2d` | ResUnet-a       | [Diakogiannis et al. (2020)](https:\u002F\u002Fdoi.org\u002F10.1016\u002Fj.isprsjprs.2020.01.013) |\n| `u2net_2d`     | U^2-Net         | [Qin et al. (2020)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2005.09007) |\n| `unet_3plus_2d` | UNET 3+        | [Huang et al. (2020)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2004.08790) |\n| `transunet_2d` | TransUNET       | [Chen et al. (2021)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2102.04306) |\n| `swin_unet_2d` | Swin-UNET       | [Hu et al. (2021)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2105.05537) |\n\n**Note**: the two Transformer models are incompatible with `NumPy 1.20`; `NumPy 1.19.5` is recommended.\n\n----------\n\n` keras_unet_collection.base` contains functions that build the base architecture (i.e., without model heads) of Unet variants for model customization and debugging.\n\n| ` keras_unet_collection.base` | Notes |\n|:-----------------------------------|:------|\n| `unet_2d_base`, `vnet_2d_base`, `unet_plus_2d_base`, `unet_3plus_2d_base`, `att_unet_2d_base`, `r2_unet_2d_base`, `resunet_a_2d_base`, `u2net_2d_base`, `transunet_2d_base`, `swin_unet_2d_base` | Functions that accept an input tensor and hyper-parameters of the corresponded model, and produce output tensors of the base architecture. |\n\n----------\n\n`keras_unet_collection.activations` and `keras_unet_collection.losses` provide additional activation layers and loss functions.\n\n| `keras_unet_collection.activations` | Name | Reference |\n|:--------|:----------------|:----------------|\n| `GELU`  | Gaussian Error Linear Units (GELU)   | [Hendrycks et al. (2016)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1606.08415) |\n| `Snake` | Snake activation                     | [Liu et al. (2020)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2006.08195) |\n\n| `keras_unet_collection.losses` | Name | Reference |\n|:----------------|:----------------|:----------------|\n| `dice`          | Dice loss                      | [Sudre et al. (2017)](https:\u002F\u002Flink.springer.com\u002Fchapter\u002F10.1007\u002F978-3-319-67558-9_28) |\n| `tversky`       | Tversky loss                   | [Hashemi et al. (2018)](https:\u002F\u002Fieeexplore.ieee.org\u002Fabstract\u002Fdocument\u002F8573779) |\n| `focal_tversky` | Focal Tversky loss             | [Abraham et al. (2019)](https:\u002F\u002Fieeexplore.ieee.org\u002Fabstract\u002Fdocument\u002F8759329) |\n| `ms_ssim`       | Multi-scale Structural Similarity Index Measure loss | [Wang et al. (2003)](https:\u002F\u002Fieeexplore.ieee.org\u002Fabstract\u002Fdocument\u002F1292216) |\n| `iou_seg`       | Intersection over Union (IoU) loss for segmentation | [Rahman and Wang (2016)](https:\u002F\u002Flink.springer.com\u002Fchapter\u002F10.1007\u002F978-3-319-50835-1_22) |\n| `iou_box`       | (Generalized) IoU loss for object detection | [Rezatofighi et al. (2019)](https:\u002F\u002Fopenaccess.thecvf.com\u002Fcontent_CVPR_2019\u002Fhtml\u002FRezatofighi_Generalized_Intersection_Over_Union_A_Metric_and_a_Loss_for_CVPR_2019_paper.html) |\n| `triplet_1d`    | Semi-hard triplet loss (experimental) | |\n| `crps2d_tf`     | CRPS loss (experimental)       | |\n\n# Installation\n\nThe project is hosted on [PyPI](https:\u002F\u002Fpypi.org\u002Fproject\u002Fkeras-unet-collection\u002F) and can thus be installed by:\n\n```\npip install keras-unet-collection\n```\n\n# Usage\n\n```python\nfrom keras_unet_collection import models\n# e.g. models.unet_2d(...)\n```\n* **Note**: Currently supported backbone models are: `VGG[16,19]`, `ResNet[50,101,152]`, `ResNet[50,101,152]V2`, `DenseNet[121,169,201]`, and `EfficientNetB[0-7]`. See [Keras Applications](https:\u002F\u002Fkeras.io\u002Fapi\u002Fapplications\u002F) for details. \n\n* **Note**: Neural networks produced by this package may contain customized layers that are not part of the Tensorflow. It is reommended to save and load model weights.\n\n* [Changelog](https:\u002F\u002Fgithub.com\u002Fyingkaisha\u002Fkeras-unet-collection\u002Fblob\u002Fmain\u002FCHANGELOG.md)\n\n# Examples\n\n* Jupyter notebooks are provided as [examples](https:\u002F\u002Fgithub.com\u002Fyingkaisha\u002Fkeras-unet-collection\u002Ftree\u002Fmain\u002Fexamples):\n\n  * Attention U-net with VGG16 backbone [[link]](https:\u002F\u002Fgithub.com\u002Fyingkaisha\u002Fkeras-unet-collection\u002Fblob\u002Fmain\u002Fexamples\u002Fhuman-seg_atten-unet-backbone_coco.ipynb).\n  \n  * UNET 3+ with deep supervision, classification-guided module, and hybrid loss [[link]](https:\u002F\u002Fgithub.com\u002Fyingkaisha\u002Fkeras-unet-collection\u002Fblob\u002Fmain\u002Fexamples\u002Fsegmentation_unet-three-plus_oxford-iiit.ipynb).\n\n  * Vision-Transformer-based examples are in progress, and available at [**keras-vision-transformer**](https:\u002F\u002Fgithub.com\u002Fyingkaisha\u002Fkeras-vision-transformer).\n\n# Dependencies\n\n* TensorFlow 2.5.0, Keras 2.5.0, NumPy 1.19.5.\n\n* (Optional for examples) Pillow, matplotlib, etc.\n\n# Overview\n\nU-net is a convolutional neural network with encoder-decoder architecture and skip-connections, loosely defined under the concept of \"fully convolutional networks.\" U-net was originally proposed for the semantic segmentation of medical images and is modified for solving a wider range of gridded learning problems.\n\nU-net and many of its variants take three or four-dimensional tensors as inputs and produce outputs of the same shape. One technical highlight of these models is the skip-connections from downsampling to upsampling layers, which benefit the reconstruction of high-resolution, gridded outputs.\n\n# Contact\n\nYingkai (Kyle) Sha \u003C\u003Cyingkai@eoas.ubc.ca>> \u003C\u003Cyingkaisha@gmail.com>>\n\n# License\n\n[MIT License](https:\u002F\u002Fgithub.com\u002Fyingkaisha\u002Fkeras-unet\u002Fblob\u002Fmain\u002FLICENSE)\n\n# Citation\n\n* Sha, Y., 2021: Keras-unet-collection. GitHub repository, accessed 4 September 2021, https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.5449801\n\n```\n@misc{keras-unet-collection,\n  author = {Sha, Yingkai},\n  title = {Keras-unet-collection},\n  year = {2021},\n  publisher = {GitHub},\n  journal = {GitHub repository},\n  howpublished = {\\url{https:\u002F\u002Fgithub.com\u002Fyingkaisha\u002Fkeras-unet-collection}},\n  doi = {10.5281\u002Fzenodo.5449801}\n}\n```\n","# keras-unet-collection\n\n[![PyPI version](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fkeras-unet-collection.svg)](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fkeras-unet-collection)\n[![PyPI license](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fl\u002Fkeras-unet-collection.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fkeras-unet-collection\u002F)\n[![Maintenance](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FMaintained%3F-yes-green.svg)](https:\u002F\u002Fgithub.com\u002Fyingkaisha\u002Fkeras-unet-collection\u002Fgraphs\u002Fcommit-activity)\n\n[![DOI](https:\u002F\u002Fzenodo.org\u002Fbadge\u002F323426984.svg)](https:\u002F\u002Fzenodo.org\u002Fbadge\u002Flatestdoi\u002F323426984)\n\n`tensorflow.keras` 实现的 U-net、V-net、U-net++、UNET 3+、Attention U-net、R2U-net、ResUnet-a、U^2-Net、TransUNET 和 Swin-UNET，可选使用 ImageNet 预训练的骨干网络。\n\n----------\n\n`keras_unet_collection.models` 包含用于配置带有超参数选项的 Keras 模型的函数。\n\n* U-net、U-net++、UNET 3+、Attention U-net 和 TransUNET 支持预训练的 ImageNet 骨干网络。\n* U-net++、UNET 3+ 和 U^2-Net 支持深度监督。\n* 其他选项和用例请参阅 [用户指南](https:\u002F\u002Fgithub.com\u002Fyingkaisha\u002Fkeras-unet-collection\u002Fblob\u002Fmain\u002Fexamples\u002Fuser_guide_models.ipynb)。\n\n| `keras_unet_collection.models` | 名称 | 参考文献 |\n|:---------------|:----------------|:----------------|\n| `unet_2d`      | U-net           | [Ronneberger 等 (2015)](https:\u002F\u002Flink.springer.com\u002Fchapter\u002F10.1007\u002F978-3-319-24574-4_28) |\n| `vnet_2d`      | V-net（修改为适用于 2D 输入） | [Milletari 等 (2016)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1606.04797) |\n| `unet_plus_2d` | U-net++         | [Zhou 等 (2018)](https:\u002F\u002Flink.springer.com\u002Fchapter\u002F10.1007\u002F978-3-030-00889-5_1) |\n| `r2_unet_2d`   | R2U-Net         | [Alom 等 (2018)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1802.06955) |\n| `att_unet_2d`  | Attention U-net | [Oktay 等 (2018)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1804.03999) |\n| `resunet_a_2d` | ResUnet-a       | [Diakogiannis 等 (2020)](https:\u002F\u002Fdoi.org\u002F10.1016\u002Fj.isprsjprs.2020.01.013) |\n| `u2net_2d`     | U^2-Net         | [Qin 等 (2020)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2005.09007) |\n| `unet_3plus_2d` | UNET 3+        | [Huang 等 (2020)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2004.08790) |\n| `transunet_2d` | TransUNET       | [Chen 等 (2021)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2102.04306) |\n| `swin_unet_2d` | Swin-UNET       | [Hu 等 (2021)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2105.05537) |\n\n**注意**：这两个 Transformer 模型与 `NumPy 1.20` 不兼容；建议使用 `NumPy 1.19.5`。\n\n----------\n\n`keras_unet_collection.base` 包含用于构建 Unet 变体基础架构（即不含模型头部）的函数，以便进行模型自定义和调试。\n\n| `keras_unet_collection.base` | 备注 |\n|:-----------------------------------|:------|\n| `unet_2d_base`、`vnet_2d_base`、`unet_plus_2d_base`、`unet_3plus_2d_base`、`att_unet_2d_base`、`r2_unet_2d_base`、`resunet_a_2d_base`、`u2net_2d_base`、`transunet_2d_base`、`swin_unet_2d_base` | 这些函数接受输入张量和相应模型的超参数，并生成基础架构的输出张量。 |\n\n----------\n\n`keras_unet_collection.activations` 和 `keras_unet_collection.losses` 提供额外的激活层和损失函数。\n\n| `keras_unet_collection.activations` | 名称 | 参考文献 |\n|:--------|:----------------|:----------------|\n| `GELU`  | 高斯误差线性单元（GELU）   | [Hendrycks 等 (2016)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1606.08415) |\n| `Snake` | Snake 激活                     | [Liu 等 (2020)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2006.08195) |\n\n| `keras_unet_collection.losses` | 名称 | 参考文献 |\n|:----------------|:----------------|:----------------|\n| `dice`          | Dice 损失                      | [Sudre 等 (2017)](https:\u002F\u002Flink.springer.com\u002Fchapter\u002F10.1007\u002F978-3-319-67558-9_28) |\n| `tversky`       | Tversky 损失                   | [Hashemi 等 (2018)](https:\u002F\u002Fieeexplore.ieee.org\u002Fabstract\u002Fdocument\u002F8573779) |\n| `focal_tversky` | Focal Tversky 损失             | [Abraham 等 (2019)](https:\u002F\u002Fieeexplore.ieee.org\u002Fabstract\u002Fdocument\u002F8759329) |\n| `ms_ssim`       | 多尺度结构相似度指数损失 | [Wang 等 (2003)](https:\u002F\u002Fieeexplore.ieee.org\u002Fabstract\u002Fdocument\u002F1292216) |\n| `iou_seg`       | 分割任务中的交并比（IoU）损失 | [Rahman 和 Wang (2016)](https:\u002F\u002Flink.springer.com\u002Fchapter\u002F10.1007\u002F978-3-319-50835-1_22) |\n| `iou_box`       | （广义）IoU 损失，用于目标检测 | [Rezatofighi 等 (2019)](https:\u002F\u002Fopenaccess.thecvf.com\u002Fcontent_CVPR_2019\u002Fhtml\u002FRezatofighi_Generalized_Intersection_Over_Union_A_Metric_and_a_Loss_for_CVPR_2019_paper.html) |\n| `triplet_1d`    | 半硬三元组损失（实验性） | |\n| `crps2d_tf`     | CRPS 损失（实验性）       | |\n\n# 安装\n\n该项目托管在 [PyPI](https:\u002F\u002Fpypi.org\u002Fproject\u002Fkeras-unet-collection\u002F) 上，因此可以通过以下命令安装：\n\n```\npip install keras-unet-collection\n```\n\n# 使用\n\n```python\nfrom keras_unet_collection import models\n# 例如 models.unet_2d(...)\n```\n* **注意**：目前支持的骨干网络包括：`VGG[16,19]`、`ResNet[50,101,152]`、`ResNet[50,101,152]V2`、`DenseNet[121,169,201]` 和 `EfficientNetB[0-7]`。详细信息请参阅 [Keras Applications](https:\u002F\u002Fkeras.io\u002Fapi\u002Fapplications\u002F)。\n\n* **注意**：本包生成的神经网络可能包含不属于 TensorFlow 的自定义层。建议保存和加载模型权重。\n\n* [变更日志](https:\u002F\u002Fgithub.com\u002Fyingkaisha\u002Fkeras-unet-collection\u002Fblob\u002Fmain\u002FCHANGELOG.md)\n\n# 示例\n\n* Jupyter 笔记本作为示例提供，位于 [examples](https:\u002F\u002Fgithub.com\u002Fyingkaisha\u002Fkeras-unet-collection\u002Ftree\u002Fmain\u002Fexamples) 目录下：\n\n  * 带有 VGG16 骨干的 Attention U-net [[链接]](https:\u002F\u002Fgithub.com\u002Fyingkaisha\u002Fkeras-unet-collection\u002Fblob\u002Fmain\u002Fexamples\u002Fhuman-seg_atten-unet-backbone_coco.ipynb)。\n  \n  * 带有深度监督、分类引导模块和混合损失的 UNET 3+ [[链接]](https:\u002F\u002Fgithub.com\u002Fyingkaisha\u002Fkeras-unet-collection\u002Fblob\u002Fmain\u002Fexamples\u002Fsegmentation_unet-three-plus_oxford-iiit.ipynb)。\n\n  * 基于 Vision-Transformer 的示例正在开发中，可在 [**keras-vision-transformer**](https:\u002F\u002Fgithub.com\u002Fyingkaisha\u002Fkeras-vision-transformer) 中找到。\n\n# 依赖项\n\n* TensorFlow 2.5.0、Keras 2.5.0、NumPy 1.19.5。\n\n* （示例可选）Pillow、matplotlib 等。\n\n# 概述\n\nU-net 是一种具有编码器-解码器架构和跳跃连接的卷积神经网络，其概念大致属于“全卷积网络”。U-net 最初是为医学图像的语义分割而提出的，后来被改进以解决更广泛的网格状学习问题。\n\nU-net 及其许多变体以三或四维张量作为输入，并产生相同形状的输出。这些模型的一个技术亮点是从下采样层到上采样层的跳跃连接，这有助于重建高分辨率的网格状输出。\n\n# 联系方式\n\nYingkai (Kyle) Sha \u003C\u003Cyingkai@eoas.ubc.ca>> \u003C\u003Cyingkaisha@gmail.com>>\n\n# 许可证\n\n[MIT 许可证](https:\u002F\u002Fgithub.com\u002Fyingkaisha\u002Fkeras-unet\u002Fblob\u002Fmain\u002FLICENSE)\n\n# 引用\n\n* Sha, Y., 2021: Keras-unet-collection. GitHub 仓库，于 2021年9月4日访问，https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.5449801\n\n```\n@misc{keras-unet-collection,\n  author = {Sha, Yingkai},\n  title = {Keras-unet-collection},\n  year = {2021},\n  publisher = {GitHub},\n  journal = {GitHub 仓库},\n  howpublished = {\\url{https:\u002F\u002Fgithub.com\u002Fyingkaisha\u002Fkeras-unet-collection}},\n  doi = {10.5281\u002Fzenodo.5449801}\n}\n```","# keras-unet-collection 快速上手指南\n\n`keras-unet-collection` 是一个基于 `tensorflow.keras` 的开源库，集成了多种先进的 U-Net 变体（如 U-net++, Attention U-net, TransUNET, Swin-UNET 等），支持预训练的 ImageNet 骨干网络，适用于医学图像分割及其他网格化学习问题。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Linux, macOS 或 Windows\n*   **Python 版本**：建议 Python 3.7 - 3.9\n*   **核心依赖**：\n    *   TensorFlow 2.5.0+\n    *   Keras 2.5.0+\n    *   NumPy **1.19.5** (⚠️ **重要提示**：由于 Transformer 模型兼容性问题，请勿使用 NumPy 1.20 及以上版本，推荐锁定为 1.19.5)\n\n## 安装步骤\n\n您可以直接通过 PyPI 进行安装。国内开发者建议使用清华或阿里镜像源以加速下载。\n\n**标准安装命令：**\n```bash\npip install keras-unet-collection\n```\n\n**使用国内镜像源加速安装（推荐）：**\n```bash\npip install keras-unet-collection -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n安装完成后，建议检查 NumPy 版本是否符合要求：\n```bash\npip show numpy\n# 如果版本高于 1.19.5，请执行降级：\npip install numpy==1.19.5\n```\n\n## 基本使用\n\n该库提供了丰富的模型构建函数，位于 `keras_unet_collection.models` 模块中。以下是最简单的使用示例，展示如何构建一个标准的 2D U-Net 模型。\n\n### 1. 导入模块并构建模型\n\n```python\nfrom keras_unet_collection import models\n\n# 构建一个基础的 2D U-Net 模型\n# input_shape: 输入图像尺寸 (高，宽，通道数)\n# n_labels: 分割类别的数量\nmodel = models.unet_2d(\n    input_shape=(256, 256, 3),\n    n_labels=2,\n    filter_num_down=[64, 128, 256, 512],\n    filter_num_up=[512, 256, 128, 64],\n    activation='ReLU',\n    output_activation='Softmax',\n    batch_norm=True,\n    pool=True,\n    unpool=True,\n    name='unet'\n)\n\nmodel.summary()\n```\n\n### 2. 使用预训练骨干网络（可选）\n\n部分模型（如 U-net, Attention U-net, TransUNET 等）支持加载 ImageNet 预训练的骨干网络以提升性能。\n\n```python\nfrom keras_unet_collection import models\n\n# 构建带有 VGG16 骨干网络的 Attention U-Net\nmodel = models.att_unet_2d(\n    input_shape=(256, 256, 3),\n    n_labels=2,\n    filter_num=[64, 128, 256, 512],\n    backbone='VGG16',          # 指定骨干网络\n    weights='imagenet',        # 加载 ImageNet 预训练权重\n    freeze_backbone=True,      # 可选：冻结骨干网络参数\n    name='att_unet_vgg16'\n)\n```\n\n### 3. 编译与训练提示\n\n由于该库可能包含 TensorFlow 原生不支持的自定义层，**强烈建议保存和加载模型权重（weights）而非整个模型结构**。\n\n```python\n# 编译模型（需配合库中提供的损失函数或自定义损失）\nfrom keras_unet_collection import losses\n\nmodel.compile(\n    optimizer='adam',\n    loss=losses.dice,  # 使用库中提供的 Dice Loss\n    metrics=['accuracy']\n)\n\n# 训练...\n# model.fit(x_train, y_train, ...)\n\n# 推荐保存权重的方法\nmodel.save_weights('my_model_weights.h5')\n\n# 加载权重时，需先重建相同结构的模型，再加载权重\n# new_model = models.unet_2d(...) \n# new_model.load_weights('my_model_weights.h5')\n```\n\n### 常用模型列表\n\n| 函数名 | 模型名称 | 特点 |\n| :--- | :--- | :--- |\n| `unet_2d` | U-net | 经典架构 |\n| `unet_plus_2d` | U-net++ | 支持深度监督 |\n| `att_unet_2d` | Attention U-net | 引入注意力机制 |\n| `transunet_2d` | TransUNET | 基于 Vision Transformer |\n| `swin_unet_2d` | Swin-UNET | 基于 Swin Transformer |\n| `u2net_2d` | U^2-Net | 嵌套 U 结构，支持深度监督 |\n\n更多高级用法（如深度监督、混合损失函数等）请参考官方 GitHub 仓库中的 `examples` 目录。","某医疗影像初创团队正致力于开发一套自动分割肺部 CT 扫描中结节区域的 AI 系统，以辅助医生早期诊断肺癌。\n\n### 没有 keras-unet-collection 时\n- **模型复现成本高昂**：团队需手动从零编写 U-net++ 或 Attention U-net 等复杂架构代码，极易因细节偏差导致复现失败，耗费数周调试时间。\n- **缺乏预训练支持**：基础实现不支持加载 ImageNet 预训练权重，导致在小样本医疗数据上模型收敛缓慢，且容易过拟合。\n- **损失函数适配困难**：针对结节这种前景极小的目标，难以快速集成 Dice Loss 或 Focal Tversky Loss 等专业函数，严重影响分割精度。\n- **前沿架构尝试受阻**：面对 TransUNET 或 Swin-UNET 等结合 Transformer 的 SOTA 模型，因依赖配置复杂且文档缺失，团队不敢轻易尝试。\n\n### 使用 keras-unet-collection 后\n- **一键调用主流架构**：通过 `unet_plus_2d` 或 `att_unet_2d` 等函数，仅需几行代码即可实例化经过验证的模型，将研发周期从数周缩短至几天。\n- **无缝迁移学习**：直接利用内置的 ImageNet 预训练骨干网络（Backbones），显著提升了小数据场景下的特征提取能力与模型泛化性。\n- **专业损失函数即插即用**：调用库中集成的 `dice` 和 `focal_tversky` 损失函数，有效解决了正负样本不平衡问题，大幅提升了微小结节的检出率。\n- **轻松探索前沿技术**：团队可快速切换并对比 TransUNET 与 Swin-UNET 效果，无需担心底层兼容性问题，迅速锁定最优解决方案。\n\nkeras-unet-collection 通过提供标准化、模块化且功能丰富的 Keras 实现，让医疗影像团队能跳过繁琐的底层基建，专注于算法优化与临床价值落地。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fyingkaisha_keras-unet-collection_870c419f.png","yingkaisha","Yingkai (Kyle) Sha ","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fyingkaisha_f19997ae.jpg","Numerical Weather Prediction, Artificial Intelligence","NSF National Center for Atmospheric Research","Boulder, CO, USA","yingkaisha@gmail.com",null,"https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fyingkai-sha-90006282\u002F","https:\u002F\u002Fgithub.com\u002Fyingkaisha",[83],{"name":84,"color":85,"percentage":86},"Python","#3572A5",100,758,185,"2026-03-30T08:30:14","MIT",1,"未说明","未说明 (基于 TensorFlow 2.5.0，通常支持 NVIDIA GPU，但 README 未明确指定型号或 CUDA 版本)",{"notes":95,"python":92,"dependencies":96},"两个 Transformer 模型（TransUNET 和 Swin-UNET）与 NumPy 1.20 不兼容，强烈建议使用 NumPy 1.19.5。支持的预训练骨干网络包括 VGG、ResNet、DenseNet 和 EfficientNet 系列。由于包中可能包含非 TensorFlow 原生的自定义层，建议保存和加载模型权重而非整个模型结构。示例运行可能需要 Pillow 和 matplotlib 等额外库。",[97,98,99],"tensorflow==2.5.0","keras==2.5.0","numpy==1.19.5",[15,14],[102,103,104,105,106,107,108,109,110,111,112,113,114,115],"unet","attention-unet","unet-plusplus","r2u-net","resunet","u2net","unet-threeplus","pypi","tensorflow","vnet","backbone","imagenet","transunet","swinunet","2026-03-27T02:49:30.150509","2026-04-10T11:26:17.389223",[119,124,129,134,139,144,149],{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},27568,"安装 keras-unet-collection 后出现 'ModuleNotFoundError: No module named keras_unet_collection' 错误怎么办？","这通常是由于版本兼容性问题导致的。请尝试安装特定版本 0.1.5，该版本已修复此问题。运行命令：pip install keras-unet-collection==0.1.5。确保您的 TensorFlow 和 Keras 版本（如 2.5.0）与该版本兼容。","https:\u002F\u002Fgithub.com\u002Fyingkaisha\u002Fkeras-unet-collection\u002Fissues\u002F14",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},27569,"使用 TransUNet 模型保存时遇到 'NotImplementedError: Layer ... has arguments in __init__ and therefore must override get_config' 错误如何解决？","这是由于 Keras 无法直接序列化包含自定义参数的层。解决方案有两种：\n1. 仅保存模型权重而不是整个模型结构（使用 model.save_weights() 而非 model.save()）。\n2. 如果必须保存整个模型，请在函数作用域内执行保存操作，或者参考用户指南中使用 utils 中的 dummy_loader() 方法进行处理。","https:\u002F\u002Fgithub.com\u002Fyingkaisha\u002Fkeras-unet-collection\u002Fissues\u002F18",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},27570,"运行代码时遇到与 NumPy 版本相关的 NotImplementedError 或类型转换错误怎么办？","这是 TensorFlow 与 NumPy 1.20+ 版本的已知兼容性问题。建议将 NumPy 回退到 1.19.5 版本。您可以运行以下命令：pip install numpy==1.19.5。测试表明，NumPy 1.19.5 配合 TensorFlow 2.4 或 2.5 可以正常工作。","https:\u002F\u002Fgithub.com\u002Fyingkaisha\u002Fkeras-unet-collection\u002Fissues\u002F21",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},27571,"在使用 UNet3+ 或其他模型时遇到 'ValueError: Dimensions must be equal' 维度不匹配错误怎么办？","这通常是由于输入图像尺寸与模型预期的下采样倍数不匹配导致的。请尝试升级库到最新版本（例如 0.0.8 或更高），因为旧版本可能存在尺寸计算 bug。运行命令：pip install keras-unet-collection==0.0.8。如果问题依旧，请检查输入图像尺寸是否为模型要求尺寸的整数倍（通常是 2 的幂次，如 224, 256, 512 等）。","https:\u002F\u002Fgithub.com\u002Fyingkaisha\u002Fkeras-unet-collection\u002Fissues\u002F2",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},27572,"TransUNet 模型显存占用过大，无法按照原论文设置（如 12 个注意力头和 12 层）运行怎么办？","当前实现的模型参数量可能比原论文更大，导致显存需求高。在 Google Colab Pro (16GB 显存) 上，对于 224x224 或 240x240 的图像，通常只能支持 3 个注意力头和 3 层，批量大小（batch size）设为 16。如果需要使用更多头或层，可能需要减少批量大小、降低图像分辨率或使用显存更大的 GPU。此外，当前实现可能缺少原论文中的某些正则化（如 Dropout），这也可能影响训练稳定性。","https:\u002F\u002Fgithub.com\u002Fyingkaisha\u002Fkeras-unet-collection\u002Fissues\u002F24",{"id":145,"question_zh":146,"answer_zh":147,"source_url":148},27573,"分类引导模块（GCM\u002FCGM）代码中的 max(X_CGM, axis=-1) 是什么意思？它是用来预测掩码还是判断图像是否为空？","max(axis=-1) 操作对应于 UNET 3+ 论文图 3 中的 'argmax' 操作，用于生成空间注意力掩码，而不是用来判断图像是否空白（background-only）。它与深监督（deep_supervision）选项无关。该掩码用于加权输出特征图，以增强关键区域的特征表示。","https:\u002F\u002Fgithub.com\u002Fyingkaisha\u002Fkeras-unet-collection\u002Fissues\u002F11",{"id":150,"question_zh":151,"answer_zh":152,"source_url":138},27574,"这里的 'backbone' 是指预训练的 ImageNet 模型（如 VGG16）吗？如何结合外部预训练模型使用？","在这个库中，'backbone' 术语指的是使用类似 UNet 配置的卷积层构建的特征提取器，而不是直接使用 ImageNet 预训练模型（如 VGG16, ResNet 等）作为骨干网络。目前该包不支持直接加载外部预训练模型（如 VGG16）来构建 UNet。维护者曾表示未来可能会添加相关实现，但目前需使用库内提供的 backbone 模块。",[154,159,164,169,174,179,183,188,193,198,203,208,213,218,223,228,233,238,243,248],{"id":155,"version":156,"summary_zh":157,"released_at":158},180717,"v0.1.13","修复 `utils.dummpy_loader` 中的 bug","2022-01-10T22:22:09",{"id":160,"version":161,"summary_zh":162,"released_at":163},180718,"v0.1.12","通过Zenodo配置DOI信息","2021-09-04T17:07:39",{"id":165,"version":166,"summary_zh":167,"released_at":168},180719,"v0.1.11","修复了模型加载和 Transformer 层的相关问题。","2021-09-01T16:49:27",{"id":170,"version":171,"summary_zh":172,"released_at":173},180720,"v0.1.9","添加 Swin-UNet 和实用工具函数。","2021-06-25T18:37:31",{"id":175,"version":176,"summary_zh":177,"released_at":178},180721,"0.1.8","修复了 TransUNET 中的 bug。","2021-06-13T23:25:59",{"id":180,"version":181,"summary_zh":177,"released_at":182},180722,"v0.1.7","2021-06-07T17:20:43",{"id":184,"version":185,"summary_zh":186,"released_at":187},180723,"v0.1.6","新功能：MS-SSMI 损失函数和 IoU 损失函数。","2021-05-30T22:37:36",{"id":189,"version":190,"summary_zh":191,"released_at":192},180724,"v0.1.5","修复了打包问题。","2021-05-28T04:07:51",{"id":194,"version":195,"summary_zh":196,"released_at":197},180725,"v0.1.1","U^2-NET 修复了若干 bug。TransUNET 新增功能。","2021-05-27T17:34:18",{"id":199,"version":200,"summary_zh":201,"released_at":202},180726,"v0.0.18","修复 UNET 3+ 中的 bug","2021-03-04T17:22:09",{"id":204,"version":205,"summary_zh":206,"released_at":207},180727,"v0.0.17","Bugfix on UNET 3+","2021-02-28T18:22:36",{"id":209,"version":210,"summary_zh":211,"released_at":212},180728,"v0.0.16","Bugfix. Adding loss functions. ","2021-02-05T19:36:36",{"id":214,"version":215,"summary_zh":216,"released_at":217},180729,"v0.0.15","Bugfix. Expanding `pool` and `unpool` options. Fix documentations.","2021-02-04T04:05:18",{"id":219,"version":220,"summary_zh":221,"released_at":222},180730,"v0.0.14","Python script cleaning and documentation fix.","2021-01-30T19:50:16",{"id":224,"version":225,"summary_zh":226,"released_at":227},180731,"v0.0.13","Bugfix and backbone support on the attention unet.","2021-01-26T00:40:31",{"id":229,"version":230,"summary_zh":231,"released_at":232},180732,"v0.0.12","ImageNet backbones for Unet, Unet++, and UNET 3+","2021-01-25T23:29:45",{"id":234,"version":235,"summary_zh":236,"released_at":237},180733,"v0.0.11","Bug fix. UNET 3+ in other older versions will not be compatible.","2021-01-22T19:54:15",{"id":239,"version":240,"summary_zh":241,"released_at":242},180734,"v0.0.10","New feature: 2-d V-net. Bug fixes. The `backbone` module is renamed as `base`.","2021-01-18T23:20:18",{"id":244,"version":245,"summary_zh":246,"released_at":247},180735,"v0.0.9","`keras_unet_collection.utils` is added.","2021-01-14T23:45:52",{"id":249,"version":250,"summary_zh":251,"released_at":252},180736,"v0.0.8","Bug fixes on models with deep supervision options.","2021-01-14T00:52:03"]