作者:痴者工良
博客:https://www.whuanle.cn
电子书仓库:https://github.com/whuanle/cs_pytorch
Maomi.Torch 项目仓库:https://github.com/whuanle/Maomi.Torch
.NET 生态系统已经成为支持多种编程语言、多种平台和大量开发工具的强大生态系统。最近几年,随着人工智能和机器学习的迅猛发展,.NET 平台也相应地发展出了一系列支持模型训练、推理和部署的工具和框架,这使得开发者能够在熟悉的 .NET 环境中更高效地进行 AI 应用开发。
无标题-2025-03-18-0826
支持: 社区支持,成熟稳定。
Star: 3.6k
Github: https://github.com/mathnet/mathnet-numerics
NET Numerics 是 Math.NET 计划的数值基础,旨在为科学、工程和日常使用中的数值计算提供方法和算法。涵盖的主题包括特殊函数,线性代数,概率模型,随机数,统计,插值,积分,回归,曲线拟合,积分变换 (FFT) 等。
支持: Microsoft 官方支持,成熟的项目,生态强势、社区活跃、应用广泛。
Star: 9.1k
Github: https://github.com/dotnet/machinelearning
ML.NET 是一个跨平台的开源机器学习框架,专为 .NET 开发者设计,提供丰富的工具和API,涵盖模型训练、评估和部署等整个流程,支持回归、分类、聚类及自然语言处理等多种任务,帮助开发者在熟悉的 .NET 环境中高效构建和优化 AI 解决方案。
支持: SciSharp 支持,成熟的项目,社区生态和应用领域都很好。
Star: 3.3k
Github: https://github.com/SciSharp/TensorFlow.NET
TensorFlow.NET 的目标是在 C# 中实现全面的 TensorFlow API,便于 .NET 开发者开发、训练和部署跨平台的机器学习模型。
支持: dotnet 开源社区支持,不成熟,生态较差、跟不上发展、应用领域太少、应用开发局限。
Star: 1.5k
Github: https://github.com/dotnet/TorchSharp
TorchSharp 通过绑定 libtorch 实现利用与 Pytorch 类似功能的深度学习框架。
支持: Microsoft 官方支持,成熟的项目,生态强势、社区活跃、应用广泛,支持 C#、C++、Python 等。
Star: 16k
Github: https://github.com/microsoft/onnxruntime
ONNX 运行时是一个跨平台的推理和训练机器学习加速器,可以提供更快的客户体验和更低的成本,它能够通过灵活的接口集成特定硬件库,支持的模型包括来自 PyTorch、TensorFlow/Keras、TFLite 和 Scikit-Learn 等框架。
LLamaSharp: https://github.com/SciSharp/LLamaSharp
OllamaSharp: https://github.com/awaescher/OllamaSharp
社区:Microsoft 官方支持,生态非常好,功能强劲,支持 C#、Python 等语言。
Star: 23k
Github: https://github.com/microsoft/semantic-kernel
Semantic Kernel是一个 SDK,它集成了大型语言模型 (LLM) ,如 OpenAI、 Azure OpenAI 和 Hugging Face。
社区:Microsoft 官方支持,生态较好,功能强劲。
Star: 1.8k
Github: https://github.com/microsoft/kernel-memory
此存储库提供了特定 AI 和 LLM 应用场景中的 Memory 的最佳实践和参考实现,主要包括文档处理、内容检索、RAG 等能力。
AntSK : https://github.com/AIDotNet/AntSK
fast-wiki: https://github.com/AIDotNet/fast-wiki
TorchSharp 是由 .NET 开源基金会主导开发的项目,旨在为 .NET 社区带来 PyTorch 类似的深度学习开发体验,目前主要在主要提供图像识别领域接口,在自然语言处理、语音识别和合成领域没有成熟的案例。
在主流 AI 模型仓库中大多数 Pytorch 格式的模型。
https://huggingface.co/models
https://www.modelscope.cn/models
1741391428573
计算机视觉
视觉检测跟踪
、光学字符识别
、人脸人体
、视觉分类
、视觉编辑
、视觉分割
、视觉生成
、视觉表征
、视觉评价
、底层视觉
、三维视觉
、基础模型应用
、自然语言处理
文本分类
文本生成
、分词
、命名实体识别
、翻译
、文本摘要
、句子相似度
、预训练
、自然语言推理
、文本纠错
、文本向量
、特征抽取
、情感分析
、关系抽取
、零样本分类
、表格问答
、问答
、词性标注
、实体分类
、序列标注
、任务型对话
语音
语音识别
、语音合成
、语音唤醒
、语音降噪
、回声消除
、语音分离
、音频分类
、音频生成
、说话人确认
、说话人日志
、标点预测
、时间戳预测
、语音端点检测
、困惑度计算
、语音语种识别
、音频量化编码
、音视频语音识别
、情绪识别
、逆文本正则化
Pytorch
TorchSharp
训练数据收集数据准备特征工程模型选择模型训练模型评估输出模型
https://opendatalab.com/
├─test
│├─airplane
│├─automobile
│├─bird
│├─cat
│├─deer
│├─dog
│├─frog
│├─horse
│├─ship
│└─truck
└─train
│├─airplane
│├─automobile
│├─bird
│├─cat
│├─deer
│├─dog
│├─frog
│├─horse
│├─ship
│└─truck
image-20250215205033982
根据需求设计神经网络架构或使用开源网络架构。
案例代码教程地址:https://torch.whuanle.cn/02.start/02.start_torch.html
using TorchSharp.Modules;
usingstaticTorchSharp.torch;
using nn =TorchSharp.torch.nn;
publicclassNeuralNetwork:nn.Module<Tensor,Tensor>
{
// 传递给基类的参数是模型的名称
publicNeuralNetwork():base(nameof(NeuralNetwork))
{
flatten = nn.Flatten();
linear_relu_stack = nn.Sequential(
nn.Linear(28*28,512),
nn.ReLU(),
nn.Linear(512,512),
nn.ReLU(),
nn.Linear(512,10));
// C# 版本需要调用这个函数,将模型的组件注册到模型中
RegisterComponents();
}
Flatten flatten;
Sequential linear_relu_stack;
publicoverrideTensorforward(Tensor input)
{
// 将输入一层层处理并传递给下一层
var x = flatten.call(input);
var logits = linear_relu_stack.call(x);
return logits;
}
}
TorchSharp 自带的网络架构:
alexnet
googlenet
inception_v3
mobilenet_v2
mobilenet_v3_large
mobilenet_v3_small
resnet18
resnet34
resnet50
wide_resnet50_2
resnext50_32x4d
resnet101
resnext101_32x8d
resnext101_64x4d
wide_resnet101_2
resnet152
vgg11
vgg11_bn
vgg13
vgg13_bn
vgg16
vgg16_bn
vgg19
vgg19_bn
static voidTrain(DataLoader dataloader,NeuralNetwork model,CrossEntropyLoss loss_fn, SGD optimizer)
{
var size = dataloader.dataset.Count;
model.train();
int batch =0;
foreach(var item in dataloader)
{
var x = item["data"];
var y = item["label"];
// 第一步
// 训练当前图片
var pred = model.call(x);
// 通过损失函数得出与真实结果的误差
var loss = loss_fn.call(pred, y);
// 第二步,反向传播
loss.backward();
// 计算梯度并优化参数
optimizer.step();
// 清空优化器当前的梯度
optimizer.zero_grad();
// 每 100 次打印损失值和当前训练的图片数量
if(batch %100==0)
{
loss = loss.item<float>();
// Pytorch 框架会在 x.shape[0] 存储当前批的位置
var current =(batch +1)* x.shape[0];
Console.WriteLine("loss: {loss.item<float>(),7} [{current,5}/{size,5}]");
}
batch++;
}
}
https://torch.whuanle.cn
深度学习基础知识和 TorchSharp 教程。
https://github.com/dotnet/TorchSharp/network/dependents
使用 TorchSharp 开的项目。
https://github.com/IntptrMax/YoloSharp
用 TorchSharp 实现 C # 中的 Yolo 模型,支持 yolov8、yolov11,可以直接使用
.pt
模型。
https://github.com/IntptrMax/StableDiffusionSharp/tree/master/StableDiffusionSharp
能够加载 StableDiffusion 的模型(safetensors 格式)并工具提示词生成图像。
这类模型使用音频数据来训练模型,这些模型可以识别声音、生成音乐。
大语言模型。
ONNX Runtime 是一个高性能推理引擎,用于执行通过 ONNX 格式表示的机器学习模型,提供数据处理、模型训练、模型评估和推理等功能,支持多种机器学习任务。
ML.NET 是一个开源的跨平台机器学习框架,专门为 .NET 开发者提供易用的工具和算法库来构建和部署机器学习模型。
优点:
推理载入模型输入数据准备进行推理输出结果处理模型文件
官方仓库: https://github.com/dotnet/machinelearning-samples
项目地址: https://github.com/microsoft/PhiCookBook
cover
部署推理 Phi-4-mini-instruct-onnx (32B,int4 量化),CPU:AMD 8745H,内存 32GB。
Hardware | ONNX | PyTorch | speedup |
---|---|---|---|
RTX 4090 GPU | int4: 260.045 tokens/sec fp16: 97.463 tokens/se fp32: 19.320 tokens/sec | fp16: 43.957 tokens/sec | 5x(fp16) |
Intel Xeon Platinum 8272CL CPU | int4: 16.89 tokens/sec | fp32: 1.636 tokens/sec | 10x |
Intel Xeon Platinum 8573B CPU | int4: 23.978 tokens/sec | fp32: 4.479 tokens/sec | 5.35X |
AMD EPYC 7763v CPU | int4: 19.884 tokens/sec | fp32: 1.599 tokens/sec | 12.4x |
Intel Core Ultra 7 165H Laptop CPU | int4: 4.863 tokens/sec | fp32: 1.699 tokens/sec | 2.8x |
Intel i7 processor | int4: 3.474 tokens/sec fp32: 1.800 tokens/sec | fp32: 0.702 tokens/sec | 4.85x |
开源项目:
https://github.com/gerardo-lijs/MachineLearning-ObjectDetect-WPF
https://github.com/dme-compunet/YoloSharp
https://github.com/NickSwardh/YoloDotNet
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有