[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-lukasruff--Deep-SVDD-PyTorch":3,"tool-lukasruff--Deep-SVDD-PyTorch":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 真正成长为懂上",149489,2,"2026-04-10T11:32:46",[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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[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":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":78,"owner_email":79,"owner_twitter":73,"owner_website":77,"owner_url":80,"languages":81,"stars":86,"forks":87,"last_commit_at":88,"license":89,"difficulty_score":32,"env_os":90,"env_gpu":90,"env_ram":90,"env_deps":91,"category_tags":96,"github_topics":97,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":106,"updated_at":107,"faqs":108,"releases":139},6221,"lukasruff\u002FDeep-SVDD-PyTorch","Deep-SVDD-PyTorch","A PyTorch implementation of the Deep SVDD anomaly detection method","Deep-SVDD-PyTorch 是一个基于 PyTorch 框架开源实现的异常检测工具，核心算法为“深度支持向量数据描述”（Deep SVDD）。它主要解决了传统深度学习方法在异常检测领域的痛点：以往的方法往往借用生成模型或压缩任务进行间接训练，缺乏直接针对异常检测目标优化的机制。Deep-SVDD 通过构建专门的神经网络和训练流程，直接将正常样本映射到特征空间中的最小超球体内，从而高效识别偏离该区域的异常数据。\n\n该工具的独特技术亮点在于其理论驱动的架构设计，确保了网络在深度化过程中仍能满足异常检测的数学特性，并支持使用自编码器进行参数预训练以提升效果。项目复现了 ICML 2018 获奖论文《Deep One-Class Classification》的核心成果，并在 MNIST、CIFAR-10 等经典图像数据集及对抗样本检测中验证了其有效性。\n\nDeep-SVDD-PyTorch 非常适合人工智能研究人员、算法工程师以及需要处理工业缺陷检测、网络安全监控等场景的开发者使用。对于希望深入理解单分类学习原理或快速搭建高精度异常检测基线模型的团队来说，这是一个结构清晰、易于扩展的","Deep-SVDD-PyTorch 是一个基于 PyTorch 框架开源实现的异常检测工具，核心算法为“深度支持向量数据描述”（Deep SVDD）。它主要解决了传统深度学习方法在异常检测领域的痛点：以往的方法往往借用生成模型或压缩任务进行间接训练，缺乏直接针对异常检测目标优化的机制。Deep-SVDD 通过构建专门的神经网络和训练流程，直接将正常样本映射到特征空间中的最小超球体内，从而高效识别偏离该区域的异常数据。\n\n该工具的独特技术亮点在于其理论驱动的架构设计，确保了网络在深度化过程中仍能满足异常检测的数学特性，并支持使用自编码器进行参数预训练以提升效果。项目复现了 ICML 2018 获奖论文《Deep One-Class Classification》的核心成果，并在 MNIST、CIFAR-10 等经典图像数据集及对抗样本检测中验证了其有效性。\n\nDeep-SVDD-PyTorch 非常适合人工智能研究人员、算法工程师以及需要处理工业缺陷检测、网络安全监控等场景的开发者使用。对于希望深入理解单分类学习原理或快速搭建高精度异常检测基线模型的团队来说，这是一个结构清晰、易于扩展的实验平台。用户只需配置好 Python 环境，即可利用提供的脚本轻松复现论文实验或适配自有数据集。","# PyTorch Implementation of Deep SVDD\nThis repository provides a [PyTorch](https:\u002F\u002Fpytorch.org\u002F) implementation of the *Deep SVDD* method presented in our\nICML 2018 paper ”Deep One-Class Classification”.\n\n\n## Citation and Contact\nYou find a PDF of the Deep One-Class Classification ICML 2018 paper at \n[http:\u002F\u002Fproceedings.mlr.press\u002Fv80\u002Fruff18a.html](http:\u002F\u002Fproceedings.mlr.press\u002Fv80\u002Fruff18a.html).\n\nIf you use our work, please also cite the paper:\n```\n@InProceedings{pmlr-v80-ruff18a,\n  title     = {Deep One-Class Classification},\n  author    = {Ruff, Lukas and Vandermeulen, Robert A. and G{\\\"o}rnitz, Nico and Deecke, Lucas and Siddiqui, Shoaib A. and Binder, Alexander and M{\\\"u}ller, Emmanuel and Kloft, Marius},\n  booktitle = {Proceedings of the 35th International Conference on Machine Learning},\n  pages     = {4393--4402},\n  year      = {2018},\n  volume    = {80},\n}\n```\n\nIf you would like to get in touch, please contact [contact@lukasruff.com](mailto:contact@lukasruff.com).\n\n\n## Abstract\n> > Despite the great advances made by deep learning in many machine learning problems, there is a relative dearth of \n> > deep learning approaches for anomaly detection. Those approaches which do exist involve networks trained to perform \n> > a task other than anomaly detection, namely generative models or compression, which are in turn adapted for use in \n> > anomaly detection; they are not trained on an anomaly detection based objective. In this paper we introduce a new \n> > anomaly detection method—Deep Support Vector Data Description—, which is trained on an anomaly detection based\n> > objective. The adaptation to the deep regime necessitates that our neural network and training procedure satisfy \n> > certain properties, which we demonstrate theoretically. We show the effectiveness of our method on MNIST and\n> > CIFAR-10 image benchmark datasets as well as on the detection of adversarial examples of GTSRB stop signs.\n\n\n## Installation\nThis code is written in `Python 3.7` and requires the packages listed in `requirements.txt`.\n\nClone the repository to your local machine and directory of choice:\n```\ngit clone https:\u002F\u002Fgithub.com\u002Flukasruff\u002FDeep-SVDD-PyTorch.git\n```\n\nTo run the code, we recommend setting up a virtual environment, e.g. using `virtualenv` or `conda`:\n\n### `virtualenv`\n```\n# pip install virtualenv\ncd \u003Cpath-to-Deep-SVDD-PyTorch-directory>\nvirtualenv myenv\nsource myenv\u002Fbin\u002Factivate\npip install -r requirements.txt\n```\n\n### `conda`\n```\ncd \u003Cpath-to-Deep-SVDD-PyTorch-directory>\nconda create --name myenv\nsource activate myenv\nwhile read requirement; do conda install -n myenv --yes $requirement; done \u003C requirements.txt\n```\n\n\n## Running experiments\n\nWe currently have implemented the MNIST ([http:\u002F\u002Fyann.lecun.com\u002Fexdb\u002Fmnist\u002F](http:\u002F\u002Fyann.lecun.com\u002Fexdb\u002Fmnist\u002F)) and \nCIFAR-10 ([https:\u002F\u002Fwww.cs.toronto.edu\u002F~kriz\u002Fcifar.html](https:\u002F\u002Fwww.cs.toronto.edu\u002F~kriz\u002Fcifar.html)) datasets and \nsimple LeNet-type networks.\n\nHave a look into `main.py` for all possible arguments and options.\n\n### MNIST example\n```\ncd \u003Cpath-to-Deep-SVDD-PyTorch-directory>\n\n# activate virtual environment\nsource myenv\u002Fbin\u002Factivate  # or 'source activate myenv' for conda\n\n# create folder for experimental output\nmkdir log\u002Fmnist_test\n\n# change to source directory\ncd src\n\n# run experiment\npython main.py mnist mnist_LeNet ..\u002Flog\u002Fmnist_test ..\u002Fdata --objective one-class --lr 0.0001 --n_epochs 150 --lr_milestone 50 --batch_size 200 --weight_decay 0.5e-6 --pretrain True --ae_lr 0.0001 --ae_n_epochs 150 --ae_lr_milestone 50 --ae_batch_size 200 --ae_weight_decay 0.5e-3 --normal_class 3;\n```\nThis example trains a One-Class Deep SVDD model where digit 3 (`--normal_class 3`) is considered to be the normal class. Autoencoder\npretraining is used for parameter initialization.\n\n### CIFAR-10 example\n```\ncd \u003Cpath-to-Deep-SVDD-PyTorch-directory>\n\n# activate virtual environment\nsource myenv\u002Fbin\u002Factivate  # or 'source activate myenv' for conda\n\n# create folder for experimental output\nmkdir log\u002Fcifar10_test\n\n# change to source directory\ncd src\n\n# run experiment\npython main.py cifar10 cifar10_LeNet ..\u002Flog\u002Fcifar10_test ..\u002Fdata --objective one-class --lr 0.0001 --n_epochs 150 --lr_milestone 50 --batch_size 200 --weight_decay 0.5e-6 --pretrain True --ae_lr 0.0001 --ae_n_epochs 350 --ae_lr_milestone 250 --ae_batch_size 200 --ae_weight_decay 0.5e-6 --normal_class 3;\n```\nThis example trains a One-Class Deep SVDD model where cats (`--normal_class 3`) is considered to be the normal class. \nAutoencoder pretraining is used for parameter initialization.\n\n\n## Examples\n\n### MNIST\nExample of the 32 most normal (left) and 32 most anomalous (right) test set examples per class on MNIST according to \nDeep SVDD anomaly scores.\n\n![MNIST](imgs\u002Fmnist.png?raw=true \"MNIST\")\n\n### CIFAR-10\nExample of the 32 most normal (left) and 32 most anomalous (right) test set examples per class on CIFAR-10 according to \nDeep SVDD anomaly scores.\n\n![CIFAR-10](imgs\u002Fcifar10.png?raw=true \"CIFAR-10\")\n\n\n## License\nMIT","# Deep SVDD 的 PyTorch 实现\n本仓库提供了我们在 ICML 2018 论文《Deep One-Class Classification》中提出的 *Deep SVDD* 方法的 [PyTorch](https:\u002F\u002Fpytorch.org\u002F) 实现。\n\n\n## 引用与联系信息\n您可以在以下链接找到 ICML 2018 论文《Deep One-Class Classification》的 PDF 版本：\n[http:\u002F\u002Fproceedings.mlr.press\u002Fv80\u002Fruff18a.html](http:\u002F\u002Fproceedings.mlr.press\u002Fv80\u002Fruff18a.html)。\n\n如果您使用了我们的工作，请同时引用该论文：\n```\n@InProceedings{pmlr-v80-ruff18a,\n  title     = {Deep One-Class Classification},\n  author    = {Ruff, Lukas and Vandermeulen, Robert A. and G{\\\"o}rnitz, Nico and Deecke, Lucas and Siddiqui, Shoaib A. and Binder, Alexander and M{\\\"u}ller, Emmanuel and Kloft, Marius},\n  booktitle = {Proceedings of the 35th International Conference on Machine Learning},\n  pages     = {4393--4402},\n  year      = {2018},\n  volume    = {80},\n}\n```\n\n如需联系，欢迎发送邮件至 [contact@lukasruff.com](mailto:contact@lukasruff.com)。\n\n\n## 摘要\n> > 尽管深度学习在许多机器学习任务中取得了巨大进展，但在异常检测领域，基于深度学习的方法仍然相对匮乏。现有的方法通常依赖于经过训练以执行其他任务（如生成模型或压缩）的网络，并将其调整用于异常检测；这些方法并未直接针对异常检测目标进行训练。在本文中，我们提出了一种新的异常检测方法——Deep Support Vector Data Description——它直接基于异常检测目标进行训练。为了适应深度学习框架，我们的神经网络和训练过程必须满足某些特定性质，我们从理论上证明了这些性质。我们在 MNIST 和 CIFAR-10 图像基准数据集上，以及在检测 GTSRB 停车标志的对抗样本时，展示了该方法的有效性。\n\n\n## 安装\n此代码使用 `Python 3.7` 编写，并需要 `requirements.txt` 文件中列出的软件包。\n\n将仓库克隆到您的本地机器和选定目录：\n```\ngit clone https:\u002F\u002Fgithub.com\u002Flukasruff\u002FDeep-SVDD-PyTorch.git\n```\n\n为运行代码，我们建议设置一个虚拟环境，例如使用 `virtualenv` 或 `conda`：\n\n### `virtualenv`\n```\n# 安装 virtualenv\npip install virtualenv\ncd \u003CDeep-SVDD-PyTorch 仓库路径>\nvirtualenv myenv\nsource myenv\u002Fbin\u002Factivate\npip install -r requirements.txt\n```\n\n### `conda`\n```\ncd \u003CDeep-SVDD-PyTorch 仓库路径>\nconda create --name myenv\nsource activate myenv\nwhile read requirement; do conda install -n myenv --yes $requirement; done \u003C requirements.txt\n```\n\n\n## 运行实验\n\n我们目前已实现了 MNIST（[http:\u002F\u002Fyann.lecun.com\u002Fexdb\u002Fmnist\u002F](http:\u002F\u002Fyann.lecun.com\u002Fexdb\u002Fmnist\u002F)）和 CIFAR-10（[https:\u002F\u002Fwww.cs.toronto.edu\u002F~kriz\u002Fcifar.html](https:\u002F\u002Fwww.cs.toronto.edu\u002F~kriz\u002Fcifar.html)）数据集，以及简单的 LeNet 类型网络。\n\n请查看 `main.py` 文件，了解所有可能的参数和选项。\n\n### MNIST 示例\n```\ncd \u003CDeep-SVDD-PyTorch 仓库路径>\n\n# 激活虚拟环境\nsource myenv\u002Fbin\u002Factivate  # 或者使用 conda 的 'source activate myenv'\n\n# 创建实验输出文件夹\nmkdir log\u002Fmnist_test\n\n# 切换到源代码目录\ncd src\n\n# 运行实验\npython main.py mnist mnist_LeNet ..\u002Flog\u002Fmnist_test ..\u002Fdata --objective one-class --lr 0.0001 --n_epochs 150 --lr_milestone 50 --batch_size 200 --weight_decay 0.5e-6 --pretrain True --ae_lr 0.0001 --ae_n_epochs 150 --ae_lr_milestone 50 --ae_batch_size 200 --ae_weight_decay 0.5e-3 --normal_class 3;\n```\n此示例训练了一个单类 Deep SVDD 模型，其中数字 3 (`--normal_class 3`) 被视为正常类别。使用自编码器预训练来初始化参数。\n\n### CIFAR-10 示例\n```\ncd \u003CDeep-SVDD-PyTorch 仓库路径>\n\n# 激活虚拟环境\nsource myenv\u002Fbin\u002Factivate  # 或者使用 conda 的 'source activate myenv'\n\n# 创建实验输出文件夹\nmkdir log\u002Fcifar10_test\n\n# 切换到源代码目录\ncd src\n\n# 运行实验\npython main.py cifar10 cifar10_LeNet ..\u002Flog\u002Fcifar10_test ..\u002Fdata --objective one-class --lr 0.0001 --n_epochs 150 --lr_milestone 50 --batch_size 200 --weight_decay 0.5e-6 --pretrain True --ae_lr 0.0001 --ae_n_epochs 350 --ae_lr_milestone 250 --ae_batch_size 200 --ae_weight_decay 0.5e-6 --normal_class 3;\n```\n此示例训练了一个单类 Deep SVDD 模型，其中猫 (`--normal_class 3`) 被视为正常类别。同样使用自编码器预训练来初始化参数。\n\n\n## 示例\n\n### MNIST\n根据 Deep SVDD 的异常分数，MNIST 数据集中每个类别的 32 个最正常（左）和 32 个最异常（右）测试样本示例。\n\n![MNIST](imgs\u002Fmnist.png?raw=true \"MNIST\")\n\n### CIFAR-10\n根据 Deep SVDD 的异常分数，CIFAR-10 数据集中每个类别的 32 个最正常（左）和 32 个最异常（右）测试样本示例。\n\n![CIFAR-10](imgs\u002Fcifar10.png?raw=true \"CIFAR-10\")\n\n\n## 许可证\nMIT","# Deep-SVDD-PyTorch 快速上手指南\n\nDeep-SVDD（Deep Support Vector Data Description）是一种基于深度学习的异常检测方法，专为单分类（One-Class Classification）任务设计。本指南帮助中国开发者快速在本地搭建并运行该工具。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Linux, macOS 或 Windows\n*   **Python 版本**：推荐 `Python 3.7`\n*   **核心依赖**：PyTorch 及其他基础科学计算库（详见 `requirements.txt`）\n*   **网络建议**：由于依赖包托管于国外源，国内用户建议使用清华或阿里镜像源加速安装。\n\n## 安装步骤\n\n### 1. 克隆项目\n将代码仓库克隆到本地任意目录：\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Flukasruff\u002FDeep-SVDD-PyTorch.git\ncd Deep-SVDD-PyTorch\n```\n\n### 2. 创建虚拟环境\n推荐使用 `conda` 或 `virtualenv` 隔离环境。\n\n**方案 A：使用 Conda（推荐）**\n```bash\nconda create --name deep_svdd python=3.7\nconda activate deep_svdd\n# 使用国内镜像源加速安装依赖\nwhile read requirement; do conda install -n deep_svdd --yes $requirement -c https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002Fanaconda\u002Fpkgs\u002Fmain\u002F; done \u003C requirements.txt\n```\n\n**方案 B：使用 Virtualenv**\n```bash\npip install virtualenv\nvirtualenv myenv\nsource myenv\u002Fbin\u002Factivate  # Windows 用户请使用: myenv\\Scripts\\activate\n# 使用 pip 国内镜像源安装依赖\npip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n## 基本使用\n\n本项目内置了 MNIST 和 CIFAR-10 数据集的示例脚本。以下以 **MNIST 数据集**为例，演示如何训练一个将数字 \"3\" 视为正常类的异常检测模型。\n\n### 1. 准备目录\n在项目根目录下创建日志输出文件夹：\n```bash\nmkdir log\u002Fmnist_test\n```\n\n### 2. 运行实验\n进入 `src` 目录并执行训练命令。该命令会自动下载数据、预训练自编码器并进行 Deep SVDD 主训练。\n\n```bash\ncd src\n\npython main.py mnist mnist_LeNet ..\u002Flog\u002Fmnist_test ..\u002Fdata --objective one-class --lr 0.0001 --n_epochs 150 --lr_milestone 50 --batch_size 200 --weight_decay 0.5e-6 --pretrain True --ae_lr 0.0001 --ae_n_epochs 150 --ae_lr_milestone 50 --ae_batch_size 200 --ae_weight_decay 0.5e-3 --normal_class 3\n```\n\n**参数说明：**\n*   `--normal_class 3`：指定数字 3 为“正常”样本，其他数字将被视为异常。\n*   `--pretrain True`：启用自编码器预训练以初始化网络参数，有助于提升收敛效果。\n*   `..\u002Fdata`：数据将自动下载至此目录（若不存在）。\n\n训练完成后，模型权重及实验日志将保存在 `..\u002Flog\u002Fmnist_test` 目录中。对于 CIFAR-10 数据集，只需将命令中的 `mnist` 相关参数替换为 `cifar10` 对应配置即可（参考原 README 中的 CIFAR-10 example）。","某工业质检团队正在利用摄像头监控生产线上的精密零件，试图从海量正常产品图像中自动识别出罕见的缺陷品。\n\n### 没有 Deep-SVDD-PyTorch 时\n- **样本依赖困境**：传统监督学习需要大量标注好的“缺陷样本”才能训练，但实际生产中次品率极低，难以收集足够数据构建平衡数据集。\n- **泛化能力不足**：若强行使用生成模型或压缩算法间接进行异常检测，模型往往专注于重构图像而非学习正常特征边界，导致对新型未知缺陷漏报率高。\n- **误报成本高昂**：由于缺乏针对异常检测优化的目标函数，模型容易将正常产品的细微差异（如光照变化）误判为缺陷，造成大量不必要的停机复检。\n\n### 使用 Deep-SVDD-PyTorch 后\n- **单类训练突破**：仅需使用正常的零件图像（如 MNIST 中的数字\"3\"）作为输入，Deep-SVDD-PyTorch 即可通过最小化特征空间体积，让模型牢牢记住“什么是正常的”。\n- **精准边界界定**：基于深度支持向量数据描述原理，该工具直接优化异常检测目标，能在高维特征空间中紧密包裹正常数据，对偏离中心的未知缺陷极其敏感。\n- **降低运维干扰**：显著减少因正常波动引发的误报警，让质检系统只关注真正的异常情况，大幅提升了生产线的自动化流转效率。\n\nDeep-SVDD-PyTorch 的核心价值在于它打破了异常检测对负样本的依赖，让 AI 仅凭“见过的好东西”就能敏锐地揪出任何“不对劲”。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flukasruff_Deep-SVDD-PyTorch_33a2f3bc.png","lukasruff","Lukas Ruff","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Flukasruff_ae3ee6fd.jpg","PhD student in the ML group at TU Berlin.",null,"Berlin, Germany","lukas.ruff@tu-berlin.de","https:\u002F\u002Fgithub.com\u002Flukasruff",[82],{"name":83,"color":84,"percentage":85},"Python","#3572A5",100,778,210,"2026-04-08T16:57:51","MIT","未说明",{"notes":92,"python":93,"dependencies":94},"代码使用 Python 3.7 编写。建议使用 virtualenv 或 conda 设置虚拟环境。支持 MNIST 和 CIFAR-10 数据集及简单的 LeNet 类型网络。训练时可使用自编码器进行参数预训练。","3.7",[95],"requirements.txt 中列出的包 (具体列表未在 README 中显示)",[14],[98,99,100,101,102,103,104,105],"anomaly-detection","deep-learning","one-class-learning","pytorch","python","machine-learning","deep-anomaly-detection","icml-2018","2026-03-27T02:49:30.150509","2026-04-10T20:32:49.202471",[109,114,119,124,129,134],{"id":110,"question_zh":111,"answer_zh":112,"source_url":113},28148,"如何获取新数据集的归一化最小值和最大值（min-max values）？","最小值和最大值是指在对所有训练集样本应用全局对比度归一化（GCN，使用 L1 范数）后，特征（即像素）的最小和最大值。注意在一类分类设置中，训练集仅包含相应正常类的样本。\n\n您可以参考以下代码逻辑自行计算：\n1. 遍历正常类标签。\n2. 对每个样本应用 `global_contrast_normalization` 函数（位于 `src\u002Fdatasets\u002Fpreprocessing.py`）。\n3. 收集所有样本的最小值和最大值，分别取其中的全局最小和全局最大。\n\n示例代码片段：\n```python\nfor idx in train_set.indices:\n    gcm = global_contrast_normalization(train_set.dataset.data[idx].float(), 'l1')\n    _min_.append(gcm.min())\n    _max_.append(gcm.max())\nMIN.append(np.min(_min_))\nMAX.append(np.max(_max_))\n```","https:\u002F\u002Fgithub.com\u002Flukasruff\u002FDeep-SVDD-PyTorch\u002Fissues\u002F6",{"id":115,"question_zh":116,"answer_zh":117,"source_url":118},28149,"运行 CIFAR-10 示例时出现错误，但 MNIST 示例可以正常运行，如何解决？","该错误是由于 PyTorch 1.0 版本中 `torchvision` 数据集的重构导致的。在 CIFAR-10 数据集中，属性 `self.train_labels` 和 `self.test_labels` 已被统一替换为 `self.targets`，`self.train_data` 和 `self.test_data` 被替换为 `self.data`。\n\n解决方案有两种：\n1. **推荐**：安装 `requirements.txt` 中指定的旧版本依赖，特别是：\n   ```\n   torch==0.4.1\n   torchvision==0.2.1\n   ```\n2. **修改代码**：如果您必须使用 PyTorch 1.0+，需要手动修改数据集加载代码，将 `train_labels` 替换为 `targets`，`train_data` 替换为 `data`。","https:\u002F\u002Fgithub.com\u002Flukasruff\u002FDeep-SVDD-PyTorch\u002Fissues\u002F9",{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},28150,"代码中的损失函数似乎缺少论文公式中的神经网络权重项（Weight Decay），这是如何处理？","损失函数中的权重衰减项（Weight Decay）并没有直接写在损失计算公式中，而是通过优化器（Optimizer）参数进行处理的。\n\n其强度（lambda）通过命令行参数 `--weight_decay`（预训练阶段为 `--ae_weight_decay`）设置，并传递给优化器。\n\n相关代码位置参考：\n- Deep SVDD 训练器：`src\u002Foptim\u002FdeepSVDD_trainer.py`\n- 自编码器预训练器：`src\u002Foptim\u002Fae_trainer.py`\nPyTorch 会自动在优化步骤中应用此正则化项。","https:\u002F\u002Fgithub.com\u002Flukasruff\u002FDeep-SVDD-PyTorch\u002Fissues\u002F8",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},28151,"运行实验后 `\u002Flog\u002F` 文件夹为空，如何生成 `log.txt`, `result.json`, `model.tar` 等文件？","这些文件是运行实验脚本后的输出结果。您需要执行 `main.py` 脚本来生成它们。\n\n1. 确保在 `log` 文件夹下创建了对应的子文件夹（例如 `mnist_test`），否则可能因路径不存在报错。\n2. 运行实验命令，指定导出路径（`xp_path` 参数，即脚本的第三个参数）。\n\n示例命令：\n```bash\npython main.py mnist mnist_LeNet ..\u002Flog\u002Fmnist_test ..\u002Fdata --objective one-class --lr 0.0001 --n_epochs 150 --lr_milestone 50 --batch_size 200 --weight_decay 0.5e-6 --pretrain True --ae_lr 0.0001 --ae_n_epochs 150 --ae_lr_milestone 50 --ae_batch_size 200 --ae_weight_decay 0.5e-3 --normal_class 3\n```\n运行完成后，`log.txt` 将包含控制台日志，`result.json` 包含实验结果，`model.tar` 包含模型权重。","https:\u002F\u002Fgithub.com\u002Flukasruff\u002FDeep-SVDD-PyTorch\u002Fissues\u002F5",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},28152,"预计算的 min-max 值是针对每个类别单独计算的，这是否适用于未知的测试样本？","是的，这种方法是适用的。所有的训练样本和测试样本都会根据**正常类（normal class）**的统计值进行重新缩放（re-scaled）。\n\n具体来说，预处理时使用的 min-max 范围是基于训练集中被定义为“正常”的那个类别的数据计算得出的。无论是训练集中的其他类（如果在半监督设置中）还是测试集中的未知样本，在输入网络前都会使用这一组固定的正常类参数进行归一化处理。","https:\u002F\u002Fgithub.com\u002Flukasruff\u002FDeep-SVDD-PyTorch\u002Fissues\u002F12",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},28153,"代码中计算超球半径 R 的 `get_radius` 函数是否存在错误？","是的，该问题已被确认并修复。原代码在计算分位数时未对距离开平方。\n\n由于 `dist` 存储的是 $(feat - center)^2$（距离的平方），而在后续比较中是与 $R^2$ 进行比较，因此在计算半径 R 的分位数时，必须先对距离开平方。\n\n修正后的代码逻辑应为：\n```python\nnp.quantile(np.sqrt(dist.clone().data.cpu().numpy()), 1-nu)\n```\n维护者已在提交记录 `77b5d33` 中修复了此问题。","https:\u002F\u002Fgithub.com\u002Flukasruff\u002FDeep-SVDD-PyTorch\u002Fissues\u002F3",[]]