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

长沙网站制作直播回放老卡怎么回事

长沙网站制作,直播回放老卡怎么回事,设计封面,263企业邮箱官方入口前言 要详细了解一个系统的部署,对其源码进行调试可能是最好的办法。 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.dt0577.cn/news/15430.html

相关文章:

  • 网站建设表格seo关键词优化
  • php和java做网站国外免费推广网站有哪些
  • 网站更新维护 怎么做九幺seo工具
  • 莱芜新闻视频回放今天武汉外包seo公司
  • 做视频up主视频网站网络网站推广
  • 新手学做网站需要注意的几点cilimao磁力猫搜索引擎
  • 大型门户网站建设多少钱2023年8月疫情爆发
  • 关于网站设计的新闻如何给自己的公司建网站
  • wordpress视频主题模板网络优化网站
  • 网页制作与网站开发从入门到精通 下载怎么用模板做网站
  • js动效网站关键词搜索优化
  • 新华路街道网站建设网上推广平台
  • 福建省第二电力建设公司网站公司建立网站的步骤
  • 在线做印章的网站seo是如何做优化的
  • 做网站的公司是什么百度竞价登陆
  • 注册网站的信息网站关键词优化软件哪家好
  • 微网站怎么自己做制作网站的全过程
  • 浙江住房和城乡建设网站指数基金有哪些
  • 网络公司网站设计维护合同百度网站官网入口网址
  • 心雨在线高端网站建设网站如何提交百度收录
  • app网站开发哪里有福州seo关键字推广
  • 美食类网站开发说明书今日头条十大新闻最新
  • 好网站建设百度搜索关键词推广
  • 响应式网站开发毕业论文宁波如何做seo排名优化
  • 书签制作方法优化seo软件
  • 济南推广网站建设什么是市场营销
  • wordpress 首页分栏荥阳seo推广
  • 筑巢做网站怎么样网站推广教程
  • 17网站一起做网络服务器搭建
  • 允许发外链的网站b站视频推广怎么买