[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-Sergio0694--NeuralNetwork.NET":3,"tool-Sergio0694--NeuralNetwork.NET":62},[4,18,26,36,46,54],{"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 真正成长为懂上",158594,2,"2026-04-16T23:34:05",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":42,"last_commit_at":43,"category_tags":44,"status":17},8272,"opencode","anomalyco\u002Fopencode","OpenCode 是一款开源的 AI 编程助手（Coding Agent），旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件，而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码，还是排查难以定位的 Bug，OpenCode 都能通过自然语言交互高效完成，显著减少开发者在重复性劳动和上下文切换上的时间消耗。\n\n这款工具专为软件开发者、工程师及技术研究人员设计，特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构，这意味着用户可以审查代码逻辑、自定义行为策略，甚至私有化部署以保障数据安全，彻底打破了传统闭源 AI 助手的“黑盒”限制。\n\n在技术体验上，OpenCode 提供了灵活的终端界面（Terminal UI）和正在测试中的桌面应用程序，支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具，安装便捷，并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客，还是渴望提升产出的独立开发者，OpenCode 都提供了一个透明、可信",144296,1,"2026-04-16T14:50:03",[13,45],"插件",{"id":47,"name":48,"github_repo":49,"description_zh":50,"stars":51,"difficulty_score":32,"last_commit_at":52,"category_tags":53,"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":55,"name":56,"github_repo":57,"description_zh":58,"stars":59,"difficulty_score":32,"last_commit_at":60,"category_tags":61,"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",[45,13,15,14],{"id":63,"github_repo":64,"name":65,"description_en":66,"description_zh":67,"ai_summary_zh":68,"readme_en":69,"readme_zh":70,"quickstart_zh":71,"use_case_zh":72,"hero_image_url":73,"owner_login":74,"owner_name":75,"owner_avatar_url":76,"owner_bio":77,"owner_company":78,"owner_location":79,"owner_email":80,"owner_twitter":81,"owner_website":82,"owner_url":83,"languages":84,"stars":89,"forks":90,"last_commit_at":91,"license":92,"difficulty_score":32,"env_os":93,"env_gpu":94,"env_ram":95,"env_deps":96,"category_tags":102,"github_topics":103,"view_count":32,"oss_zip_url":82,"oss_zip_packed_at":82,"status":17,"created_at":119,"updated_at":120,"faqs":121,"releases":152},8325,"Sergio0694\u002FNeuralNetwork.NET","NeuralNetwork.NET","A TensorFlow-inspired neural network library built from scratch in C# 7.3 for .NET Standard 2.0, with GPU support through cuDNN","NeuralNetwork.NET 是一款专为 .NET 生态打造的神经网络库，它完全使用 C# 7.3 从零构建，旨在让开发者能够在熟悉的 .NET Standard 2.0 环境中轻松设计和训练深度学习模型。该工具主要解决了 C# 开发者在不依赖 Python 或其他外部框架的情况下，快速原型化神经网络算法的需求，提供了从序列模型到计算图模式的灵活支持。\n\n它特别适合 .NET 平台的软件开发人员、学生以及希望深入理解神经网络底层原理的研究者使用。通过简洁易用的 API 接口，用户可以快速定义卷积、池化、全连接等层结构，并利用随机梯度下降法进行模型训练。此外，NeuralNetwork.NET 还具备独特的技术亮点：它原生支持通过 cuDNN  toolkit 调用 GPU 加速，显著提升了大规模数据训练和推理的性能；同时内置了数据集加载、模型序列化与反序列化等实用功能，进一步简化了开发流程。\n\n需要注意的是，该项目目前处于非活跃维护状态，更适合作为学习参考或轻量级实验使用。对于需要投入生产环境的项目，官方建议考虑 ML.NET 或 TensorFlow.NET 等更成熟的替代方案","NeuralNetwork.NET 是一款专为 .NET 生态打造的神经网络库，它完全使用 C# 7.3 从零构建，旨在让开发者能够在熟悉的 .NET Standard 2.0 环境中轻松设计和训练深度学习模型。该工具主要解决了 C# 开发者在不依赖 Python 或其他外部框架的情况下，快速原型化神经网络算法的需求，提供了从序列模型到计算图模式的灵活支持。\n\n它特别适合 .NET 平台的软件开发人员、学生以及希望深入理解神经网络底层原理的研究者使用。通过简洁易用的 API 接口，用户可以快速定义卷积、池化、全连接等层结构，并利用随机梯度下降法进行模型训练。此外，NeuralNetwork.NET 还具备独特的技术亮点：它原生支持通过 cuDNN  toolkit 调用 GPU 加速，显著提升了大规模数据训练和推理的性能；同时内置了数据集加载、模型序列化与反序列化等实用功能，进一步简化了开发流程。\n\n需要注意的是，该项目目前处于非活跃维护状态，更适合作为学习参考或轻量级实验使用。对于需要投入生产环境的项目，官方建议考虑 ML.NET 或 TensorFlow.NET 等更成熟的替代方案。总体而言，NeuralNetwork.NET 是 C# 开发者探索深度学习领域的一块优质“敲门砖”。","\u003Ca href=\"https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FNeuralNetwork.NET\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FSergio0694_NeuralNetwork.NET_readme_80106d2008e6.png\" alt=\"Get it from NuGet\" width='620' height='186' \u002F>\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fscisharp.github.io\u002FSciSharp\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FSergio0694_NeuralNetwork.NET_readme_46b9640c0134.png\" alt=\"ScuSharp STACK\" width='186' height='186' \u002F>\u003C\u002Fa>\n\n[![NuGet](https:\u002F\u002Fimg.shields.io\u002Fnuget\u002Fv\u002FNeuralNetwork.NET.svg)](https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FNeuralNetwork.NET\u002F) [![NuGet](https:\u002F\u002Fimg.shields.io\u002Fnuget\u002Fdt\u002FNeuralNetwork.NET.svg)](https:\u002F\u002Fwww.nuget.org\u002Fstats\u002Fpackages\u002FNeuralNetwork.NET?groupby=Version) [![AppVeyor](https:\u002F\u002Fimg.shields.io\u002Fappveyor\u002Fci\u002FSergio0694\u002Fneuralnetwork-net\u002Fmaster.svg)](https:\u002F\u002Fci.appveyor.com\u002Fproject\u002FSergio0694\u002Fneuralnetwork-net\u002Fmaster) [![AppVeyor tests](https:\u002F\u002Fimg.shields.io\u002Fappveyor\u002Ftests\u002FSergio0694\u002Fneuralnetwork-net\u002Fmaster.svg)](https:\u002F\u002Fci.appveyor.com\u002Fproject\u002FSergio0694\u002Fneuralnetwork-net\u002Fmaster) [![Twitter Follow](https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002FSergio0694.svg?style=flat&label=Follow)](https:\u002F\u002Ftwitter.com\u002FSergioPedri)\n\n# What is it?\n\n**NeuralNetwork.NET** is a .NET Standard 2.0 library that implements sequential and computation graph neural networks with customizable layers, built from scratch with C#.\nIt provides simple APIs designed for quick prototyping to define and train models using stochastic gradient descent, as well as methods to save\u002Fload a network model and its metadata and more. The library also exposes CUDA-accelerated layers with more advanced features that leverage the GPU and the cuDNN toolkit to greatly increase the performances when training or using a neural network.\n\n> **DISCLAIMER:** this library is provided as is, and it's no longer being actively maintained. NeuralNetwork.NET was developed during a university course and it's not meant to be a replacement for other well known machine learning frameworks. If you're looking for a machine learning library for .NET to use in production, I recommend trying out [ML.NET](https:\u002F\u002Fdotnet.microsoft.com\u002Fapps\u002Fmachinelearning-ai\u002Fml-dotnet) or alternatively [TensorFlow.NET](https:\u002F\u002Fgithub.com\u002FSciSharp\u002FTensorFlow.NET).\n\n# Table of Contents\n\n- [Installing from NuGet](#installing-from-nuget)\n- [Quick start](#quick-start)\n  - [Supervised learning](#supervised-learning) \n  - [GPU acceleration](#gpu-acceleration)\n  - [Computation graphs](#computation-graphs)\n  - [Library settings](#library-settings)\n  - [Serialization and deserialization](#serialization-and-deserialization)\n  - [Built-in datasets](#built\\-in-datasets)\n- [Requirements](#requirements)\n\n# Installing from NuGet\n\nTo install **NeuralNetwork.NET**, run the following command in the **Package Manager Console**\n\n```\nInstall-Package NeuralNetwork.NET\n```\n\nMore details available [here](https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FNeuralNetwork.NET\u002F).\n\n# Quick start\n\nThe **NeuralNetwork.NET** library exposes easy to use classes and methods to create a new neural network, prepare the datasets to use and train the network. These APIs are designed for rapid prototyping, and this section provides an overview of the required steps to get started.\n\n## Supervised learning\n\nThe first step is to create a custom network structure. Here is an example with a sequential network (a stack of layers):\n\n```C#\nINeuralNetwork network = NetworkManager.NewSequential(TensorInfo.Image\u003CAlpha8>(28, 28),\n    NetworkLayers.Convolutional((5, 5), 20, ActivationType.Identity),\n    NetworkLayers.Pooling(ActivationType.LeakyReLU),\n    NetworkLayers.Convolutional((3, 3), 40, ActivationType.Identity),\n    NetworkLayers.Pooling(ActivationType.LeakyReLU),\n    NetworkLayers.FullyConnected(125, ActivationType.LeakyReLU),\n    NetworkLayers.FullyConnected(64, ActivationType.LeakyReLU),\n    NetworkLayers.Softmax(10));\n```\n\nThe next step is to prepare the datasets to use, through the APIs in the `DatasetLoader` class:\n\n```C#\n\u002F\u002F A training dataset with a batch size of 100\nIEnumerable\u003C(float[] x, float[] u)> data = ... \u002F\u002F Your own dataset parsing routine\nITrainingDataset dataset = DatasetLoader.Training(data, 100);\n\n\u002F\u002F An optional test dataset with a callback to monitor the progress\nITestDataset test = DatasetLoader.Test(..., p =>\n{\n    Console.WriteLine($\"Epoch {p.Iteration}, cost: {p.Cost}, accuracy: {p.Accuracy}\"); \u002F\u002F Progress report\n});\n```\n\nTraining a neural network is pretty straightforward - just use the methods in the `NetworkManager` class:\n\n```C#    \n\u002F\u002F Train the network using Adadelta and 0.5 dropout probability\nTrainingSessionResult result = NetworkManager.TrainNetwork(\n    network,                                \u002F\u002F The network instance to train\n    dataset,                                \u002F\u002F The ITrainingDataset instance   \n    TrainingAlgorithms.AdaDelta(),          \u002F\u002F The training algorithm to use\n    60,                                     \u002F\u002F The expected number of training epochs to run\n    0.5f,                                   \u002F\u002F Dropout probability\n    p => ...,                               \u002F\u002F Optional training epoch progress callback\n    null,                                   \u002F\u002F Optional callback to monitor the training dataset accuracy\n    null,                                   \u002F\u002F Optional validation dataset\n    test,                                   \u002F\u002F Test dataset\n    token);                                 \u002F\u002F Cancellation token for the training\n```\n\n**Note:** the `NetworkManager` methods are also available as asynchronous APIs.\n\n## GPU acceleration\n\nWhen running on a supported framework (.NET Framework, Xamarin or Mono), it is possible to use a different implementation of the available layers that leverages the cuDNN toolkit and parallelizes most of the work on the available CUDA-enabled GPU. To do that, just use the layers from the `CuDnnNetworkLayers` class when creating a network.\n\nSome of the cuDNN-powered layers support additional options than the default layers. Here's an example:\n\n```C#\n\u002F\u002F A cuDNN convolutional layer, with custom mode, padding and stride\nLayerFactory convolutional = CuDnnNetworkLayers.Convolutional(\n    ConvolutionInfo.New(ConvolutionMode.CrossCorrelation, 3, 3, 2, 2),\n    (7, 7), 20, ActivationType.ReLU);\n    \n\u002F\u002F An inception module, from the design of the GoogLeNet network\nLayerFactory inception = CuDnnNetworkLayers.Inception(InceptionInfo.New(\n    10,     \u002F\u002F 1x1 convolution kernels\n    20, 10, \u002F\u002F 1x1 + 3x3 convolution pipeline kernels\n    20, 10, \u002F\u002F 1x1 + 5x5 convolution pipeline kernels\n    PoolingMode.AverageExcludingPadding, 10)); \u002F\u002F Pooling mode and 1x1 convolution kernels\n```\n\nThese `LayerFactory` instances can be used to create a new network just like in the CPU example.\n\n**NOTE:** in order to use this feature, the CUDA and cuDNN toolkits must be installed on the current system, a CUDA-enabled nVidia GeForce\u002FQuadro GPU must be available and the **Alea** NuGet package must be installed in the application using the **NeuralNetwork.NET** library as well. Additional info are available [here](http:\u002F\u002Fwww.aleagpu.com\u002Frelease\u002F3_0_4\u002Fdoc\u002Finstallation.html#deployment_considerations).\n\n## Computation graphs\n\nSome complex network structures, like residual networks or inception modules , cannot be expressed as a simple sequential network structure: this is where computation graph networks come into play. Instead of forwarding the inputs through a linear stack of layers, a computation graph has a specific spatial structure that allows different nodes to be connected together. For example, it is possible to channel data through different parallel pipelines that are merged later on in the graph, or to have auxiliary classifiers that contribute to the gradient backpropagation during the training phase.\n\nComputation graph networks are created using the `NetworkManager.NewGraph` API, here's an example:\n\n```C#\nINeuralNetwork network = NetworkManager.NewGraph(TensorInfo.Image\u003CRgb24>(32,32), root =>\n{\n    var conv1 = root.Layer(CuDnnNetworkLayers.Convolutional((5, 5), 20, ActivationType.Identity));\n    var pool1 = conv1.Layer(CuDnnNetworkLayers.Pooling(ActivationType.ReLU));\n\n    var conv2 = pool1.Pipeline(\n        CuDnnNetworkLayers.Convolutional((1, 1), 20, ActivationType.ReLU),\n        CuDnnNetworkLayers.Convolutional(ConvolutionInfo.Same(), (5, 5), 40, ActivationType.ReLU),\n        CuDnnNetworkLayers.Convolutional((1, 1), 20, ActivationType.ReLU));\n    var sum = conv2 + pool1;\n\n    var fc1 = sum.Layer(CuDnnNetworkLayers.FullyConnected(250, ActivationType.LeCunTanh));\n    var fc2 = fc1.Layer(CuDnnNetworkLayers.FullyConnected(125, ActivationType.LeCunTanh));\n    _ = fc2.Layer(CuDnnNetworkLayers.Softmax(10));\n});\n```\n\n## Library settings\n\n**NeuralNetwork.NET** provides various shared settings that are available through the `NetworkSettings` class.\nThis class acts as a container to quickly check and modify any setting at any time, and these settings will influence the behavior of any existing `INeuralNetwork` instance and the library in general.\n\nFor example, it is possible to customize the criteria used by the networks to check their performance during training\n\n```C#\nNetworkSettings.AccuracyTester = AccuracyTesters.Argmax();       \u002F\u002F The default mode (mutually-exclusive classes)\n\n\u002F\u002F Other testers are available too\nNetworkSettings.AccuracyTester = AccuracyTesters.Threshold();    \u002F\u002F Useful for overlapping classes\nNetworkSettings.AccuracyTester = AccuracyTesters.Distance(0.2f); \u002F\u002F Distance between results and expected outputs\n```\n\nWhen using CUDA-powered networks, sometimes the GPU in use might not be able to process the whole test or validation datasets in a single pass, which is the default behavior (these datasets are not divided into batches).\nTo avoid memory issues, it is possible to modify this behavior:\n\n```C#\nNetworkSettings.MaximumBatchSize = 400;   \u002F\u002F This will apply to any test or validation dataset\n```\n\n## Serialization and deserialization\n\nThe `INeuralNetwork` interface exposes a `Save` method that can be used to serialize any network at any given time.\nIn order to get a new network instance from a saved file or stream, just use the `NetworkLoader.TryLoad` method.\n\nAs multiple layer types have different implementations across the available libraries, you can specify the layer providers to use when loading a saved network. For example, here's how to load a network using the cuDNN layers, when possible:\n\n```C#\nFileInfo file = new FileInfo(@\"C:\\...\\MySavedNetwork.nnet\");\nINeuralNetwork network = NetworkLoader.TryLoad(file, ExecutionModePreference.Cuda);\n```\n\n**Note:** the `ExecutionModePreference` option indicates the desired type of layers to deserialize whenever possible. For example, using `ExecutionModePreference.Cpu`, the loaded network will only have CPU-powered layers, if supported.\n\nThere's also an additional `SaveMetadataAsJson` method to export the metadata of an `INeuralNetwork` instance.\n\n## Built-in datasets\n\nThe `NeuralNetworkNET.Datasets` namespace includes static classes to quickly load a popular dataset and get an `IDataset` instance ready to use with a new neural network. As an example, here's how to get the MNIST dataset:\n\n```C#\nITrainingDataset trainingData = await Mnist.GetTrainingDatasetAsync(400); \u002F\u002F Batches of 400 samples\nITestDataset testData = await Mnist.GetTestDatasetAsync(p => ... \u002F* Optional callback *\u002F);\n```\n\nEach API in this namespace also supports an optional `CancellationToken` to stop the dataset loading, as the source data is downloaded from the internet and can take some time to be available, depending on the dataset being used.\n\n# Requirements\n\nThe **NeuralNetwork.NET** library requires .NET Standard 2.0 support, so it is available for applications targeting:\n- .NET Framework >= 4.6.1\n- .NET Core >= 2.0\n- UWP (from SDK 10.0.16299)\n- Mono >= 5.4\n- Xamarin.iOS 10.14, Xamarin.Mac 3.8, Xamarin.Android 8.0\n\nIn addition to the frameworks above, you need an IDE with C# 7.3 support to compile the library on your PC.\n","\u003Ca href=\"https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FNeuralNetwork.NET\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FSergio0694_NeuralNetwork.NET_readme_80106d2008e6.png\" alt=\"从 NuGet 获取\" width='620' height='186' \u002F>\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fscisharp.github.io\u002FSciSharp\u002F\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FSergio0694_NeuralNetwork.NET_readme_46b9640c0134.png\" alt=\"ScuSharp STACK\" width='186' height='186' \u002F>\u003C\u002Fa>\n\n[![NuGet](https:\u002F\u002Fimg.shields.io\u002Fnuget\u002Fv\u002FNeuralNetwork.NET.svg)](https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FNeuralNetwork.NET\u002F) [![NuGet](https:\u002F\u002Fimg.shields.io\u002Fnuget\u002Fdt\u002FNeuralNetwork.NET.svg)](https:\u002F\u002Fwww.nuget.org\u002Fstats\u002Fpackages\u002FNeuralNetwork.NET?groupby=Version) [![AppVeyor](https:\u002F\u002Fimg.shields.io\u002Fappveyor\u002Fci\u002FSergio0694\u002Fneuralnetwork-net\u002Fmaster.svg)](https:\u002F\u002Fci.appveyor.com\u002Fproject\u002FSergio0694\u002Fneuralnetwork-net\u002Fmaster) [![AppVeyor 测试](https:\u002F\u002Fimg.shields.io\u002Fappveyor\u002Ftests\u002FSergio0694\u002Fneuralnetwork-net\u002Fmaster.svg)](https:\u002F\u002Fci.appveyor.com\u002Fproject\u002FSergio0694\u002Fneuralnetwork-net\u002Fmaster) [![Twitter 关注](https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002FSergio0694.svg?style=flat&label=关注)](https:\u002F\u002Ftwitter.com\u002FSergioPedri)\n\n# 它是什么？\n\n**NeuralNetwork.NET** 是一个基于 .NET Standard 2.0 的库，使用 C# 从头开始构建，实现了可自定义层的顺序神经网络和计算图神经网络。它提供了简单易用的 API，专为快速原型设计而设，可用于定义和训练采用随机梯度下降法的模型，同时还支持保存和加载网络模型及其元数据等功能。此外，该库还提供了 CUDA 加速的层，利用 GPU 和 cuDNN 工具包实现更高级的功能，在训练或使用神经网络时显著提升性能。\n\n> **免责声明：** 本库按“原样”提供，目前已不再积极维护。NeuralNetwork.NET 是在大学课程期间开发的，并非旨在替代其他知名机器学习框架。如果您正在寻找用于生产环境的 .NET 机器学习库，建议尝试 [ML.NET](https:\u002F\u002Fdotnet.microsoft.com\u002Fapps\u002Fmachinelearning-ai\u002Fml-dotnet) 或者 [TensorFlow.NET](https:\u002F\u002Fgithub.com\u002FSciSharp\u002FTensorFlow.NET)。\n\n# 目录\n\n- [通过 NuGet 安装](#installing-from-nuget)\n- [快速入门](#quick-start)\n  - [监督学习](#supervised-learning) \n  - [GPU 加速](#gpu-acceleration)\n  - [计算图](#computation-graphs)\n  - [库设置](#library-settings)\n  - [序列化与反序列化](#serialization-and-deserialization)\n  - [内置数据集](#built\\-in-datasets)\n- [要求](#requirements)\n\n# 通过 NuGet 安装\n\n要安装 **NeuralNetwork.NET**，请在 **包管理器控制台** 中运行以下命令：\n\n```\nInstall-Package NeuralNetwork.NET\n```\n\n更多详情请参见 [这里](https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FNeuralNetwork.NET\u002F)。\n\n# 快速入门\n\n**NeuralNetwork.NET** 库提供了易于使用的类和方法，用于创建新的神经网络、准备数据集并训练网络。这些 API 专为快速原型设计而设计，本节将概述开始使用所需的步骤。\n\n## 监督学习\n\n第一步是创建自定义的网络结构。以下是一个顺序网络（即层的堆叠）示例：\n\n```C#\nINeuralNetwork network = NetworkManager.NewSequential(TensorInfo.Image\u003CAlpha8>(28, 28),\n    NetworkLayers.Convolutional((5, 5), 20, ActivationType.Identity),\n    NetworkLayers.Pooling(ActivationType.LeakyReLU),\n    NetworkLayers.Convolutional((3, 3), 40, ActivationType.Identity),\n    NetworkLayers.Pooling(ActivationType.LeakyReLU),\n    NetworkLayers.FullyConnected(125, ActivationType.LeakyReLU),\n    NetworkLayers.FullyConnected(64, ActivationType.LeakyReLU),\n    NetworkLayers.Softmax(10));\n```\n\n下一步是通过 `DatasetLoader` 类中的 API 准备要使用的数据集：\n\n```C#\n\u002F\u002F 一个批次大小为 100 的训练数据集\nIEnumerable\u003C(float[] x, float[] u)> data = ... \u002F\u002F 您自己的数据集解析程序\nITrainingDataset dataset = DatasetLoader.Training(data, 100);\n\n\u002F\u002F 一个可选的测试数据集，并附带进度监控回调\nITestDataset test = DatasetLoader.Test(..., p =>\n{\n    Console.WriteLine($\"第 {p.Iteration} 轮，损失：{p.Cost}, 准确率：{p.Accuracy}\"); \u002F\u002F 进度报告\n});\n```\n\n训练神经网络非常简单——只需使用 `NetworkManager` 类中的方法即可：\n\n```C#    \n\u002F\u002F 使用 Adadelta 算法和 0.5 的丢弃概率训练网络\nTrainingSessionResult result = NetworkManager.TrainNetwork(\n    network,                                \u002F\u002F 要训练的网络实例\n    dataset,                                \u002F\u002F ITrainingDataset 实例   \n    TrainingAlgorithms.AdaDelta(),          \u002F\u002F 要使用的训练算法\n    60,                                     \u002F\u002F 预期的训练轮数\n    0.5f,                                   \u002F\u002F 丢弃概率\n    p => ...,                               \u002F\u002F 可选的每轮训练进度回调\n    null,                                   \u002F\u002F 可选的监控训练数据集准确率的回调\n    null,                                   \u002F\u002F 可选的验证数据集\n    test,                                   \u002F\u002F 测试数据集\n    token);                                 \u002F\u002F 用于取消训练的取消令牌\n```\n\n**注意：** `NetworkManager` 中的方法也提供异步版本。\n\n## GPU 加速\n\n在支持的框架（.NET Framework、Xamarin 或 Mono）上运行时，可以使用不同的层实现，该实现利用 cuDNN 工具包，并将大部分工作并行化到可用的 CUDA 启用 GPU 上。为此，在创建网络时只需使用 `CuDnnNetworkLayers` 类中的层即可。\n\n部分由 cuDNN 提供支持的层比默认层支持更多选项。以下是一个示例：\n\n```C#\n\u002F\u002F 一个 cuDNN 卷积层，具有自定义模式、填充和步幅\nLayerFactory convolutional = CuDnnNetworkLayers.Convolutional(\n    ConvolutionInfo.New(ConvolutionMode.CrossCorrelation, 3, 3, 2, 2),\n    (7, 7), 20, ActivationType.ReLU);\n    \n\u002F\u002F 一个 Inception 模块，源自 GoogLeNet 网络的设计\nLayerFactory inception = CuDnnNetworkLayers.Inception(InceptionInfo.New(\n    10,     \u002F\u002F 1x1 卷积核\n    20, 10, \u002F\u002F 1x1 + 3x3 卷积流水线核\n    20, 10, \u002F\u002F 1x1 + 5x5 卷积流水线核\n    PoolingMode.AverageExcludingPadding, 10)); \u002F\u002F 池化模式和 1x1 卷积核\n```\n\n这些 `LayerFactory` 实例可以像 CPU 示例中一样用于创建新网络。\n\n**注意：** 要使用此功能，必须在当前系统上安装 CUDA 和 cuDNN 工具包，并且需要有一块支持 CUDA 的 nVidia GeForce\u002FQuadro GPU，同时还需要在使用 `NeuralNetwork.NET` 库的应用程序中安装 **Alea** NuGet 包。更多信息请参见 [这里](http:\u002F\u002Fwww.aleagpu.com\u002Frelease\u002F3_0_4\u002Fdoc\u002Finstallation.html#deployment_considerations)。\n\n## 计算图\n\n一些复杂的网络结构，例如残差网络或 Inception 模块，无法用简单的顺序网络结构来表示：这时计算图网络就派上用场了。与通过线性堆叠的层传递输入不同，计算图具有特定的空间结构，允许不同的节点相互连接。例如，可以在图中设置多个并行的管道，稍后将其合并；或者设置辅助分类器，在训练阶段参与梯度反向传播。\n\n计算图网络可以通过 `NetworkManager.NewGraph` API 创建，以下是一个示例：\n\n```C#\nINeuralNetwork network = NetworkManager.NewGraph(TensorInfo.Image\u003CRgb24>(32,32), root =>\n{\n    var conv1 = root.Layer(CuDnnNetworkLayers.Convolutional((5, 5), 20, ActivationType.Identity));\n    var pool1 = conv1.Layer(CuDnnNetworkLayers.Pooling(ActivationType.ReLU));\n\n    var conv2 = pool1.Pipeline(\n        CuDnnNetworkLayers.Convolutional((1, 1), 20, ActivationType.ReLU),\n        CuDnnNetworkLayers.Convolutional(ConvolutionInfo.Same(), (5, 5), 40, ActivationType.ReLU),\n        CuDnnNetworkLayers.Convolutional((1, 1), 20, ActivationType.ReLU));\n    var sum = conv2 + pool1;\n\n    var fc1 = sum.Layer(CuDnnNetworkLayers.FullyConnected(250, ActivationType.LeCunTanh));\n    var fc2 = fc1.Layer(CuDnnNetworkLayers.FullyConnected(125, ActivationType.LeCunTanh));\n    _ = fc2.Layer(CuDnnNetworkLayers.Softmax(10));\n});\n```\n\n## 库设置\n\n`NeuralNetwork.NET` 提供了多种共享设置，可通过 `NetworkSettings` 类访问。\n该类充当容器，可随时快速检查和修改任何设置，这些设置将影响任何现有 `INeuralNetwork` 实例以及整个库的行为。\n\n例如，可以自定义网络在训练过程中用于评估性能的标准：\n\n```C#\nNetworkSettings.AccuracyTester = AccuracyTesters.Argmax();       \u002F\u002F 默认模式（互斥类别）\n\u002F\u002F 还有其他测试器可供选择\nNetworkSettings.AccuracyTester = AccuracyTesters.Threshold();    \u002F\u002F 适用于重叠类别\nNetworkSettings.AccuracyTester = AccuracyTesters.Distance(0.2f); \u002F\u002F 结果与预期输出之间的距离\n```\n\n当使用 CUDA 支持的网络时，有时所使用的 GPU 可能无法一次性处理完整的测试或验证数据集，而这是默认行为（这些数据集不会被分成批次）。\n为避免内存问题，可以修改此行为：\n\n```C#\nNetworkSettings.MaximumBatchSize = 400;   \u002F\u002F 这将应用于任何测试或验证数据集\n```\n\n## 序列化与反序列化\n\n`INeuralNetwork` 接口公开了一个 `Save` 方法，可用于在任何时候序列化任何网络。\n要从已保存的文件或流中获取新的网络实例，只需使用 `NetworkLoader.TryLoad` 方法即可。\n\n由于不同类型的层在可用的不同库中可能有不同的实现，因此在加载已保存的网络时，可以指定要使用的层提供者。例如，以下是如何在可能的情况下使用 cuDNN 层加载网络的示例：\n\n```C#\nFileInfo file = new FileInfo(@\"C:\\...\\MySavedNetwork.nnet\");\nINeuralNetwork network = NetworkLoader.TryLoad(file, ExecutionModePreference.Cuda);\n```\n\n**注意：** `ExecutionModePreference` 选项指示在可能的情况下希望反序列化的层类型。例如，使用 `ExecutionModePreference.Cpu` 时，如果支持，加载的网络将仅包含 CPU 驱动的层。\n\n此外，还有一个 `SaveMetadataAsJson` 方法，用于导出 `INeuralNetwork` 实例的元数据。\n\n## 内置数据集\n\n`NeuralNetworkNET.Datasets` 命名空间包含静态类，可快速加载常用数据集，并获得可与新神经网络一起使用的 `IDataset` 实例。例如，以下是如何获取 MNIST 数据集的方法：\n\n```C#\nITrainingDataset trainingData = await Mnist.GetTrainingDatasetAsync(400); \u002F\u002F 每批 400 个样本\nITestDataset testData = await Mnist.GetTestDatasetAsync(p => ... \u002F* 可选回调 *\u002F);\n```\n\n该命名空间中的每个 API 还支持可选的 `CancellationToken`，以停止数据集的加载，因为源数据是从互联网下载的，根据所使用的数据集，可能需要一些时间才能可用。\n\n# 要求\n\n`NeuralNetwork.NET` 库需要 .NET Standard 2.0 支持，因此适用于以下目标平台的应用程序：\n- .NET Framework >= 4.6.1\n- .NET Core >= 2.0\n- UWP（从 SDK 10.0.16299 开始）\n- Mono >= 5.4\n- Xamarin.iOS 10.14、Xamarin.Mac 3.8、Xamarin.Android 8.0\n\n除了上述框架外，您还需要一个支持 C# 7.3 的 IDE 来在您的 PC 上编译该库。","# NeuralNetwork.NET 快速上手指南\n\n## 环境准备\n\n在开始使用之前，请确保您的开发环境满足以下要求：\n\n*   **运行时支持**：需支持 .NET Standard 2.0 的平台，包括：\n    *   .NET Framework >= 4.6.1\n    *   .NET Core >= 2.0\n    *   UWP (SDK 10.0.16299+)\n    *   Mono >= 5.4\n    *   Xamarin (iOS 10.14, Mac 3.8, Android 8.0)\n*   **开发工具**：支持 C# 7.3 语法的 IDE（如 Visual Studio 2017+ 或 VS Code）。\n*   **GPU 加速（可选）**：若需使用 CUDA 加速，需安装 NVIDIA CUDA Toolkit、cuDNN Toolkit，拥有支持的 NVIDIA GPU，并额外安装 `Alea` NuGet 包。\n\n> **注意**：本库主要用于快速原型设计和学习，不再积极维护。生产环境建议优先考虑 [ML.NET](https:\u002F\u002Fdotnet.microsoft.com\u002Fapps\u002Fmachinelearning-ai\u002Fml-dotnet) 或 [TensorFlow.NET](https:\u002F\u002Fgithub.com\u002FSciSharp\u002FTensorFlow.NET)。\n\n## 安装步骤\n\n通过 NuGet 包管理器控制台执行以下命令进行安装：\n\n```powershell\nInstall-Package NeuralNetwork.NET\n```\n\n如果您使用 `.csproj` 文件管理依赖，也可以直接添加以下引用：\n\n```xml\n\u003CPackageReference Include=\"NeuralNetwork.NET\" Version=\"最新版本号\" \u002F>\n```\n\n*(注：请将“最新版本号”替换为 NuGet 上的实际最新版本)*\n\n## 基本使用\n\n以下是构建一个顺序神经网络并进行监督学习的最小化示例。\n\n### 1. 定义网络结构\n使用 `NetworkManager.NewSequential` 创建包含卷积层、池化层和全连接层的网络：\n\n```C#\nINeuralNetwork network = NetworkManager.NewSequential(TensorInfo.Image\u003CAlpha8>(28, 28),\n    NetworkLayers.Convolutional((5, 5), 20, ActivationType.Identity),\n    NetworkLayers.Pooling(ActivationType.LeakyReLU),\n    NetworkLayers.Convolutional((3, 3), 40, ActivationType.Identity),\n    NetworkLayers.Pooling(ActivationType.LeakyReLU),\n    NetworkLayers.FullyConnected(125, ActivationType.LeakyReLU),\n    NetworkLayers.FullyConnected(64, ActivationType.LeakyReLU),\n    NetworkLayers.Softmax(10));\n```\n\n### 2. 准备数据集\n使用 `DatasetLoader` 加载训练数据和测试数据（此处以自定义数据解析为例）：\n\n```C#\n\u002F\u002F 准备训练数据，批次大小设为 100\nIEnumerable\u003C(float[] x, float[] u)> data = ... \u002F\u002F 您的数据解析逻辑\nITrainingDataset dataset = DatasetLoader.Training(data, 100);\n\n\u002F\u002F 准备测试数据，并设置进度回调\nITestDataset test = DatasetLoader.Test(..., p =>\n{\n    Console.WriteLine($\"Epoch {p.Iteration}, cost: {p.Cost}, accuracy: {p.Accuracy}\");\n});\n```\n\n### 3. 训练模型\n调用 `NetworkManager.TrainNetwork` 开始训练，指定优化算法（如 AdaDelta）、轮数（Epochs）和 Dropout 概率：\n\n```C#    \nTrainingSessionResult result = NetworkManager.TrainNetwork(\n    network,                                \u002F\u002F 网络实例\n    dataset,                                \u002F\u002F 训练数据集\n    TrainingAlgorithms.AdaDelta(),          \u002F\u002F 训练算法\n    60,                                     \u002F\u002F 训练轮数\n    0.5f,                                   \u002F\u002F Dropout 概率\n    p => ...,                               \u002F\u002F 训练进度回调\n    null,                                   \u002F\u002F 训练集准确率监控回调\n    null,                                   \u002F\u002F 验证集\n    test,                                   \u002F\u002F 测试集\n    token);                                 \u002F\u002F 取消令牌\n```\n\n该库同样提供异步 API (`TrainNetworkAsync`) 以供非阻塞调用。","某 .NET 开发团队需要在现有的 C# 工业质检系统中集成深度学习模块，以实时识别生产线上的产品缺陷。\n\n### 没有 NeuralNetwork.NET 时\n- **技术栈割裂**：团队必须跨越语言边界，通过 Python 调用 TensorFlow 或 PyTorch，导致部署架构复杂，需额外维护 Python 运行环境。\n- **原型验证缓慢**：缺乏原生的 C# 神经网络 API，开发人员需手动实现复杂的反向传播算法或编写冗长的互操作代码，严重拖慢实验迭代速度。\n- **硬件加速困难**：难以直接利用 GPU 资源进行模型训练，仅靠 CPU 计算导致处理高分辨率工业图像时耗时过长，无法满足实时性要求。\n- **系统集成风险高**：异构系统间的数据序列化与通信容易出错，增加了生产环境的不稳定性与维护成本。\n\n### 使用 NeuralNetwork.NET 后\n- **原生无缝集成**：直接在 C# 7.3 项目中引用库，无需切换语言或环境，利用熟悉的语法快速构建包含卷积层和池化层的序列网络。\n- **高效快速原型**：借助简洁的 API（如 `NetworkLayers.Convolutional`），几分钟内即可定义并训练定制化模型，大幅缩短从想法到验证的周期。\n- **GPU 性能飞跃**：通过内置的 cuDNN 支持，一键开启 GPU 加速，将大规模图像数据的训练与推理速度提升数倍，轻松应对实时检测需求。\n- **部署简化可控**：模型可直接序列化保存并在纯 .NET 环境中加载，消除了外部依赖，显著降低了系统集成的复杂度与运维风险。\n\nNeuralNetwork.NET 让 .NET 开发者能在不离开舒适区的前提下，原生享受高性能深度学习带来的效率革命。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FSergio0694_NeuralNetwork.NET_80106d20.png","Sergio0694","Sergio Pedri","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FSergio0694_6de21f34.png","Senior Software Engineer @microsoft, working on the Microsoft Store app for Windows. .NET Community Toolkit lead. .NET Foundation member, former Microsoft MVP.","@microsoft","Redmond, United States","sergio0694@live.com","SergioPedri",null,"https:\u002F\u002Fgithub.com\u002FSergio0694",[85],{"name":86,"color":87,"percentage":88},"C#","#178600",100,568,90,"2026-04-08T16:37:44","GPL-3.0","Windows, Linux, macOS (通过 Mono\u002FXamarin)","可选。如需 GPU 加速，必须使用支持 CUDA 的 NVIDIA GeForce 或 Quadro 显卡，并安装 CUDA Toolkit 和 cuDNN Toolkit。具体显存大小和 CUDA 版本未在文档中明确说明，但需配合 Alea NuGet 包使用。","未说明",{"notes":97,"python":98,"dependencies":99},"1. 该库已不再积极维护，仅适用于学习或原型设计，生产环境建议使用 ML.NET 或 TensorFlow.NET。\n2. 开发环境需支持 C# 7.3。\n3. GPU 加速功能仅在 .NET Framework、Xamarin 或 Mono 框架下可用，且必须额外安装 Alea NuGet 包。\n4. 内置数据集（如 MNIST）首次使用时会从互联网下载。","不需要 (基于 .NET\u002FC#)",[100,101],".NET Standard 2.0","Alea (仅 GPU 模式需要)",[13,14,15],[104,105,106,107,108,109,110,111,112,113,114,115,116,117,118],"neural-network","convolutional-neural-networks","backpropagation-algorithm","gradient-descent","machine-learning","classification-algorithims","cnn","supervised-learning","ai","cuda","gpu-acceleration","csharp","netstandard","net-framework","visual-studio","2026-03-27T02:49:30.150509","2026-04-17T08:23:33.165483",[122,127,132,137,142,147],{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},37254,"如何在 ASP.NET 应用中安全地使用该库进行多线程训练？","如果在 CPU 上运行训练，该库是线程安全的。但需要注意，所有 CPU 操作在底层都使用了 `Parallel.For`。因此，如果在 ASP.NET 服务中生成过多实例，可能会因并行任务过多而导致性能问题。建议控制并发实例数量以避免资源争用。","https:\u002F\u002Fgithub.com\u002FSergio0694\u002FNeuralNetwork.NET\u002Fissues\u002F91",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},37255,"安装 NuGet 包时遇到 'SixLabors.ImageSharp' 缺失错误怎么办？","这通常是因为项目使用了旧的 .csproj 格式（VS2015 创建）。解决方案是将项目升级到新的 .csproj 格式（VS2017 及以上支持）。具体步骤：在 Visual Studio 2017 中创建一个新项目，然后将现有文件添加进去，或者手动编辑 .csproj 文件以符合新标准格式。","https:\u002F\u002Fgithub.com\u002FSergio0694\u002FNeuralNetwork.NET\u002Fissues\u002F81",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},37256,"训练过程中频繁出现 'NumericOverflow' (数值溢出) 错误如何解决？","数值溢出是神经网络训练中的常见数学现象，并非库的实现缺陷（TensorFlow 等框架也会出现）。缓解方法包括：1. 使用较小的预训练（pretraining）来初始化参数；2. 调整学习率等超参数。如果之前在 Keras 中未遇到此问题，可能是因为 Keras 默认使用了更保守的设置或自动进行了初始微调。","https:\u002F\u002Fgithub.com\u002FSergio0694\u002FNeuralNetwork.NET\u002Fissues\u002F88",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},37257,"运行 CUDA 示例项目时报错 'Couldn't open CUDA library cudnn64_5' 是怎么回事？","如果在启动训练时出现该错误，但随后运行正常（仅在 GPU 内核首次 JIT 编译时出现），这是 Alea 库在 Visual Studio 2017 中的一个已知问题，由 .pdb 文件处理方式变更引起。如果您直接引用库项目（如示例项目）会看到此错误；若通过 NuGet 引用库并在新解决方案中创建项目，该错误通常不会显示，且不影响实际运行。","https:\u002F\u002Fgithub.com\u002FSergio0694\u002FNeuralNetwork.NET\u002Fissues\u002F83",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},37258,"如何解决简单的 XOR 问题示例无法产生正确结果的情况？","构建正确的 XOR 网络结构是关键。参考社区提供的解决方案，确保网络层配置正确（例如输入层、隐藏层激活函数及输出层设置）。维护者虽未直接修复代码，但社区用户已提交包含 XOR 问题解决示例的 Pull Request (#102)，建议参考该示例代码或查看相关第三方实现库（如 One-Ring-to-rule-them-all）中的 XOR 源码作为基准。","https:\u002F\u002Fgithub.com\u002FSergio0694\u002FNeuralNetwork.NET\u002Fissues\u002F96",{"id":148,"question_zh":149,"answer_zh":150,"source_url":151},37259,"是否支持 Mish 激活函数？如何添加？","社区已贡献了 Mish 激活函数的实现，并完成了 CUDA 支持。用户可以通过查看相关的 Pull Request (#102 或提及的 PR) 获取代码实现。虽然项目维护状态可能有所变化，但该功能代码已准备就绪，可手动集成到项目中以使用 Mish 激活函数。","https:\u002F\u002Fgithub.com\u002FSergio0694\u002FNeuralNetwork.NET\u002Fissues\u002F93",[153,157,162,167,172,177,182,187],{"id":154,"version":155,"summary_zh":82,"released_at":156},297768,"v2.1.3","2020-05-01T12:04:31",{"id":158,"version":159,"summary_zh":160,"released_at":161},297769,"v2.1.2","• 代码重构以使用 C# 7.3 的新特性\n• `System.Memory` 程序集更新至最新的 4.5.1 版本\n• NuGet 包已更新","2018-10-22T21:31:08",{"id":163,"version":164,"summary_zh":165,"released_at":166},297770,"v2.1.0.0","• 添加了批归一化层\r\n• 重构并优化了API\r\n• 修复了若干Bug","2018-02-02T00:00:05",{"id":168,"version":169,"summary_zh":170,"released_at":171},297771,"v2.0.0.0","• 新增计算图网络类型\n• 新增 INeuralNetwork 和 IDataset API\n• 修复了 cuDNN 层的 JSON 元数据序列化及 Clone API\n• 通用性错误修复、代码优化及性能提升","2018-01-26T14:06:55",{"id":173,"version":174,"summary_zh":175,"released_at":176},297772,"v1.5.1.0","• 新增优化器（Adam、AdaMax、RMSProp、Momentum 等）\r\n• 新增 MNIST、CIFAR-10 和 CIFAR-100 数据集\r\n• 新增用于划分训练数据集的 API\r\n• 新增基于距离的准确率测试器\r\n• 重构并优化了 API\r\n• 修复了若干 bug，并进行了性能优化","2018-01-13T00:36:17",{"id":178,"version":179,"summary_zh":180,"released_at":181},297773,"v1.4.0.0","• 新增用于从图像集合解析数据集的 API\r\n• 代码重构\r\n• 修复了一些小 bug 并进行了优化","2018-01-09T12:02:07",{"id":183,"version":184,"summary_zh":185,"released_at":186},297774,"v1.3.0.0","• NeuralNetwork.NET 现已作为 NuGet 包提供，[点击此处](https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FNeuralNetwork.NET\u002F)\n• 新增了 IDataset API\n• 新增了 AccuracyTester 选项\n• 重构了 API，优化了代码\n• 修复了一些 minor bug","2018-01-07T19:30:22",{"id":188,"version":189,"summary_zh":190,"released_at":191},297775,"v1.0.0.0","• 首个包含所有主要功能的稳定版本","2017-12-31T16:00:41"]