C#使用OnnxRuntime进行Resnet50分类(支持GPU)

        在深度学习部署环节中,基于C#的部署资料很少。本文展示了如何使用C#来部署一个基于Resnet50的图像分类任务。

        本文的代码来自OnnxRuntime自带的示例。这里我已经把代码和深度学习模型文件整理好了,可以直接下载:

代码及深度学习模型onnx文件下载连接

        首先,我们需要配置GPU运行环境(如果使用CPU可以省略这一步骤):

        1. 安装Nvidia显卡驱动、CUDA、cudnn。并且CUDA和Cudnn的版本最好满足对应关系,否则需要自己去编译onnxruntime。

          C#使用OnnxRuntime进行Resnet50分类(支持GPU)_第1张图片

          2. 在Visual Studio中右键项目,选择管理Nugut程序包。之后选择“浏览”,搜索onnxruntime。这里搜索的结果有cpu版本和gpu版本。如果需要使用gpu版,则在满足步骤1的前提下,下载对应版本的Microsoft.ML.OnnxRuntime.Gpu,若只使用cpu,则下载没有.Gpu后缀的onnxruntime。

        3. 使用Gpu进行预测,指定Gpu号。

using var session = new InferenceSession(modelFilePath, SessionOptions.MakeSessionOptionWithCudaProvider(0));

你可能感兴趣的:(onnxruntime)