当前位置: 首页 > news >正文

下沙开发区建设局网站多用户商城系统开发公司

下沙开发区建设局网站,多用户商城系统开发公司,o2o电子商务网站,网站建设要学哪些软件有哪些内容前言 要详细了解一个系统的部署,对其源码进行调试可能是最好的办法。 Pytorch的部署几经改版,最大的特点依然是不稳定,或者使用libtorch这种稳定但优化力度不够的部署方案。 而稳定且通用的方案,目前仍然是export to onnx的办法…

 前言

要详细了解一个系统的部署,对其源码进行调试可能是最好的办法。

Pytorch的部署几经改版,最大的特点依然是不稳定,或者使用libtorch这种稳定但优化力度不够的部署方案。

而稳定且通用的方案,目前仍然是export to onnx的办法居多。onnxruntime在c++部署方面目前用得比较多,所以这里我们以微软最典型的onnxruntime部署为例,对其源码进行编译。编译后,就可以直接使用vs2019来进行源码级调试抓BUG了。

ONNXRuntime(Open Neural Network Exchange)是微软推出的一款针对ONNX模型格式的推理框架,支持多种运行后端包括CPU,GPU,TensorRT,DML等。是对ONNX模型最原生的支持,只要导出的onnx模型,便能对将不同框架的结果进行部署,提高开发效率。

生成vs2019项目

第一步是把onnxruntime从github上拉取下来,并且重命名文件夹为onnxruntime1162,版本是v1.16.2,如下,

git clone --recursive  https://github.com/microsoft/onnxruntime -b v1.16.2  onnxruntime1162

然后用cmake-gui开始配置项目,这里我们按官方的配置来选择。

首先是要配置onnxruntime_USE_CUDA,这个是为使用GPU而设置的,

另外,protobuf的配置需要格外注意,很多情况下,onnxruntime能否编译成功,就取决于这个protobuf能否正确链接。因为一般的onnx和onnxruntime的库都是dll,所以我们这里选择protobuf_BUILD_SHARED_LIBS,避免windows下链接出现问题。

最后,还要配置onnxruntime_BUILD_SHARED_LIB,否则的话不会生成onnxruntime.dll,应用程序就需要自己再去链接abseil,protobuf等库。其实这个选项应该默认是ON才对,但官方设置为OFF,所以这里必须手动设置为ON。

当然官方还有一个tensorrt,由于我手头还没有用到tensorrt,所以暂时也没有勾选。

根据onnxruntime官网上的issue,

https://github.com/microsoft/onnxruntime/issues/1777

需要设置CUDA_HOME和CUDNN_HOME这两个参数。不过编译后,我发现这不是必须的,因为可以在生成项目后在vs2019项目的属性中添加,像cudnn.h这样的头文件,直接拷贝到项目onnxruntime_providers_cuda_obj.vcxproj同目录下即可。后面我们详细介绍。

当然,如果你要设置CUDA_HOME和CUDNN_HOME这两个参数的话,可以在环境变量中这样设置,

CUDA_HOME

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0

CUDNN_HOME

C:\Programs\cudnn-windows-x86_64-8.9.2.26_cuda12

这里对应我的RTX3080TI安装版的Cuda版本是

cuda_12.0.1_528.33_windows.exe

CUDNN的开发包是

cudnn-windows-x86_64-8.9.2.26_cuda12-archive.zip

用cmake-gui的configure+generate之后,就可以生成vs2019的项目了。

配置cudnn并生成动态库

用vs2019打开项目后, 要在以下这几个项目的属性中添加上cudnn的配置,我这里取名为cudnn12-8.9.2.26.props;根据我前面提到的cuda和cudnn的安装位置,其内容如下,

<?xml version="1.0" encoding="utf-8"?>

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <ImportGroup Label="PropertySheets" />

  <PropertyGroup Label="UserMacros" />

  <PropertyGroup />

  <ItemDefinitionGroup>

    <ClCompile>

      <AdditionalIncludeDirectories>C:\Programs\cudnn-windows-x86_64-8.9.2.26_cuda12\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

    </ClCompile>

    <Link>

      <AdditionalLibraryDirectories>C:\Programs\cudnn-windows-x86_64-8.9.2.26_cuda12\lib\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>

      <AdditionalDependencies>cudnn.lib;%(AdditionalDependencies)</AdditionalDependencies>

    </Link>

  </ItemDefinitionGroup>

  <ItemGroup />

</Project>

编译时发现,cmake已经找到了cuda相关的库的位置,但cudnn的位置并不正确,老是报找不到cudnn.h,于是,我索性把相关文件直接拷贝到了项目所在的目录下面,然后再编译。

按这个配置好开始编译,一路上基本上不会有太大问题,编译之后就可以得到onnxruntime.dll这样的库文件了,如下,

本文结束。

http://www.yayakq.cn/news/384544/

相关文章:

  • 食品网站架构长沙做网站团队
  • 万网网站建设方法那个网站做苗木
  • 做平台是做网站和微信小程序的好别网站建设前规划
  • 开发网站公司收费110平米三室一厅简装
  • 域名搭建网站快速建站公司怎么样
  • 东莞网站关键排名网站建设保障机制
  • 天津网站建设优化c 网站建设教程
  • 网站开发 语言net开发网站用什么软件
  • 品辰设计的网站谁做的网门网站下载地址
  • 做网站 用 云主机优化方案数学2023版电子版
  • 阿里云建站教程视频温州网牌电线
  • html怎么做网站版块百度怎么发帖做推广
  • 社区类网站建设个人免费网站如何做
  • wordpress 文章添加附件中山seo建站
  • 个人网站在那建设宁夏网站建设优化
  • 网站开发概要设计辛集网站建设
  • 影视视频网站怎么做常州网站建设智博
  • 门户网站制作定制南阳做网站费用
  • 公众号开发者密钥有什么用seo外链优化方法
  • 网站开发调查问卷wordpress签到页面
  • 集思吧网站怎么做问卷数据分析工具
  • 做网站的哪个好怎么向企业推销网站建设
  • 找项目网站买了一台配置强悍的电脑怎么做网站服务器
  • 代理建设网站做网站被网监叫去很多次
  • 影视网站开发工程师核心关键词如何优化
  • dede网站改成自适应农村电商做什么项目好
  • 海口免费网站建设微信营销成功案例
  • 境外注册网站具有价值的常州做网站
  • 微信公众号直接链接网站怎么做重庆市建设项目环境申报表网站
  • wordpress主题外贸下载贵阳百度快照优化排名