一款 C# 编写的神经网络计算图框架
1.推荐一款界面优雅、功能强大的 .NET + Vue 权限管理系统2..NET 开源权限认证项目 MiniAuth上线3..NET 与 LayUI 实现高效敏捷开发框架4..NET 8 + Blazor 多租户、模块化、DDD框架、开箱即用5.推荐一个优秀的 .NET MAUI 组件库6..NET 7 + Vue 权限管理系统 小白快速上手7..NET 权限工作流框架 TOP 榜8..NET 8 高并发微服务电商系统实战9..NET 8.0 前后分离快速开发框架10..NET 开源工业级移动端仓库管理系统11..NET 8 + Vue/UniApp 高性能前后端分离框架12..NET 7+Angular 4 轻量级新零售进销存系统13..NET 代码混淆工具-JIEJIE.NET14..NET 实现的交互式 OA 系统15..NET 8 实现无实体库表 API 部署服务16..NET +Vue 开源在线考试系统17.C# 并发控制框架:单线程环境下实现每秒百万级调度18..NET 7+Vue 3 开源仓库管理系统 ModernWMS19..NET 开源餐饮系统支持桌面与Web版20..NET 开源扁平化、美观的 C/S 控件库21..NET + 微信小程序开源多功能电商系统22..NET 8.0 开源在线考试系统(支持移动端)23..NET 实现的零部件离散型 MES+WMS 系统24.推荐一个 ASP.NET Core 的轻量级插件框架25..NET 高性能异步套接字库,支持多协议、跨平台、高并发26..NET 全能高效的 CMS 内容管理系统27..NET 8 高性能跨平台图像处理库 ImageSharp28..NET 全功能流媒体管理控制接口平台
29.一款 C# 编写的神经网络计算图框架
30.C# 开发的数据采集及云端监控系统31..NET 8.0 通用管理平台,支持模块化、WinForms 和 WPF32..NET +Vue 开发的高级报表工具33.100 款支持 .NET 多版本的强大 WPF 控件库34.C# 开发的环境监测上位机应用35.C# 高效餐饮管理系统设计与实现36.基于 .NET 的开源工作流引擎框架37.WinForm 通用权限框架,简单实用支持二次开发前言
深度学习技术的不断发展,神经网络在各个领域得到了广泛应用。为了满足 .NET 开发的需求,推荐一款使用 C# 编写的神经网络计算图框架。
框架的使用方法接近 PyTorch,提供了丰富的示例和详细的文档,帮助大家快速上手。
框架介绍
项目完全使用 C# 编写,提供了一个透明的神经网络计算图框架。用户可以查看和理解框架内部的任何实现细节。
框架支持多种网络结构,包括卷积神经网络(CNN)、反向传播网络(BP)、全连接网络(FCN)、长短期记忆网络(LSTM)、卷积长短期记忆网络(ConvLSTM)和门控循环单元网络(GRU)。
每个示例都附带了所需的数据内容,确保用户能够快速上手并进行实验。
使用说明
- 损失函数支持:MESLOSS、交叉熵损失 (Cross-Entropy)
- 激活函数支持:ReLU、Tanh、Sigmoid、Softmax
- 数据类型支持:二维数据 float[][] 和四维数据 float[][][,]
- 池化支持:平均池化、最大池化
- 其他支持:卷积层 (ConvLayer)、二维卷积层 (Conv2DLayer)、乘法层 (MulLayer)、转置卷积层 (ConvTranspose2DLayer)
部分代码示例
//声明两个ConvLayer 和一个激活函数SigmodLayer ConvLayer cl1 = new ConvLayer(13, 5, true); SigmodLayer sl = new SigmodLayer(); float lr = 0.5f; ConvLayer cl2 = new ConvLayer(5, 1, true); int i = 0,a=0; while (a < 5000) { dynamic ff = cl1.Forward(x); ff = sl.Forward(ff); ff = cl2.Forward(ff); //计算误差 MSELoss mloss = new MSELoss(); var loss = mloss.Forward(ff, y); Console.WriteLine("误差:" + loss); dynamic grid = mloss.Backward(); //反传播w2 dynamic w22 = cl2.backweight(grid); //反传播W1 dynamic grid1 = cl2.backward(grid); grid1 = sl.Backward(grid1); dynamic w11 = cl1.backweight(grid1); //更新参数 cl2.weights = Matrix.MatrixSub(cl2.weights, Matrix.multiply(w22.grid, lr)); cl2.basicData = Matrix.MatrixSub(cl2.basicData, Matrix.multiply(w22.basic, lr)); cl1.weights = Matrix.MatrixSub(cl1.weights, Matrix.multiply(w11.grid, lr)); cl1.basicData = Matrix.MatrixSub(cl1.basicData, Matrix.multiply(w11.basic, lr)); i++; a++; }
BP网络运行图
CNN网络95%识别成功率
lstm网络预测PM2.5空气质量
项目地址
Gitee:https://gitee.com/UDCS/WeaveAI
如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。
也可以加入微信公众号[DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!优秀是一种习惯,欢迎大家留言学习!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器