Ubuntu下的onnxruntime(c++)编译
文章目录
- 仓库下载
- 编译
- GPU
- TensorRT
- install
- 参考
仓库下载
git clone --depth=1 --branch v1.12.1 https://github.com.cnpmjs.org/microsoft/onnxruntime.git
注意:需要更换国内镜像源
编译
GPU
./build.sh --skip_tests --use_cuda --config Release --build_shared_lib --parallel --cuda_home /usr/local/cuda-11.3 --cudnn_home /usr/local/cuda-11.3
其中的use_cuda表示你要使用CUDA的onnxruntime,cuda_home和cudnn_home均指向你的CUDA安装目录即可。
onnxruntime版本和cuda、cudnn版本要对应,具体参考官方推荐https://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html。
TensorRT
Tensorrt安装参考这里。
./build.sh \--parallel 8 \--use_cuda \--cuda_version=11.1 \--cuda_home=/usr/local/cuda \--cudnn_home=/usr/local/cuda \--use_tensorrt --tensorrt_home=/usr/local/lib/python3.8/dist-packages/tensorrt \--build_shared_lib --enable_pybind \--build_wheel --update --build \--config Release
注意
- cmake版本过低会导致编译失败;
- 科学上网问题。编译过程中会链接其他github仓库,需要手动添加镜像源。
cd ${your git repo root}
cd .git
vim config
修改为:
[core]repositoryformatversion = 0filemode = truebare = falselogallrefupdates = trueignorecase = trueprecomposeunicode = true
[remote "origin"]url = https://github.com.cnpmjs.org/microsoft/onnxruntime.gitfetch = +refs/tags/v1.7.0:refs/tags/v1.7.0
也不多,大概几十个把
编译成功
[ 98%] Building CXX object CMakeFiles/onnxruntime_providers.dir/Users/xxx/Desktop/third_party/library/onnxruntime/onnxruntime/contrib_ops/cpu/skip_layer_norm.cc.o
[ 98%] Building CXX object CMakeFiles/onnxruntime_providers.dir/Users/xxx/Desktop/third_party/library/onnxruntime/onnxruntime/contrib_ops/cpu/tokenizer.cc.o
[100%] Building CXX object CMakeFiles/onnxruntime_providers.dir/Users/xxx/Desktop/third_party/library/onnxruntime/onnxruntime/contrib_ops/cpu/trilu.cc.o
[100%] Building CXX object CMakeFiles/onnxruntime_providers.dir/Users/xxx/Desktop/third_party/library/onnxruntime/onnxruntime/contrib_ops/cpu/unique.cc.o
[100%] Building CXX object CMakeFiles/onnxruntime_providers.dir/Users/xxx/Desktop/third_party/library/onnxruntime/onnxruntime/contrib_ops/cpu/word_conv_embedding.cc.o
[100%] Linking CXX static library libonnxruntime_providers.a
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libonnxruntime_providers.a(dft.cc.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libonnxruntime_providers.a(window_functions.cc.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libonnxruntime_providers.a(dft.cc.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libonnxruntime_providers.a(window_functions.cc.o) has no symbols
[100%] Built target onnxruntime_providers
[100%] Building C object CMakeFiles/onnxruntime.dir/generated_source.c.o
[100%] Linking CXX shared library libonnxruntime.dylib
[100%] Built target onnxruntime
2021-04-15 22:39:10,495 util.run [DEBUG] - Subprocess completed. Return code: 0
2021-04-15 22:39:10,496 build [INFO] - Build complete
install
cd ./build/Linux/release
make install
参考
https://zhuanlan.zhihu.com/p/411887386
Ubuntu下的onnxruntime(c++)编译相关推荐
- ubuntu java反编译,[原创]Ubuntu下简单配置反编译工具以及其开发环境
0x0:前言 个人电脑重新换了下系统,Ubuntu14.04,刚好需要配置下android的反编译环境,这里简单记录一下,以供有需要的朋友参考. 其实最简单的,只需要apktool就可以了,不过有编码 ...
- linux boost 卸载,Ubuntu下boost库的编译安装步骤及卸载方法详解
最近由于编译一个程序用到了C++的boost库,所以便安装了这个库.但是,其中遇到了一些小问题.所以记录下来,以供别人参考. 首先说一下我的环境:Ubuntu 12.04 32bit, gcc 4. ...
- ubuntu下C编程,编译基础( 转)
buntu下C编程,编译基础 C 编程中相关文件后缀 .a 静态库 (archive) .c C源代码(需要编译预处理) .h C源代码头文件 .i C源代码(不需编译预处理) .o 对象文件 .s ...
- ubuntu下vscode使用cmake编译运行c++配置文件
在gcc/g++能编译运行c++的情况下,使用cmake编译只需要修改以下两个文件. launch.json {// 使用 IntelliSense 了解相关属性. // 悬停以查看现有属性的描述./ ...
- Ubuntu下通过CMake文件编译CUDA+OpenCV代码操作步骤
在 CUDA_Test 工程中,CUDA测试代码之前仅支持在Windows10 + VS2013编译,今天在Ubuntu 14.04下写了一个CMakeLists.txt文件,支持在Linux下也可 ...
- ubuntu下android源码编译环境,ubuntu12.04 64位上搭建android源码编译环境
1.首先替换源为163的源,默认源下载速度太慢 sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup (备份下当前的源列表) sudo ...
- ubuntu下的opencv下载编译安装
1.下载opencv源码 在opencv官网,opencv源码下载路径如下:https://opencv.org/releases/.网页页面如下,选择需要的opencv版本下载对应的sources文 ...
- ubuntu下SFML小游戏编译报错
SFML CMakeLists SFML库的安装 编译报错 SFML库的安装 sudo apt-get sudo apt-get install libsfml-dev ubuntu会将库文件安装到/ ...
- ubuntu下进程kidle_inject致使编译软件很慢
一.背景 某一天编译一个程序发现半天都没编译ok,于是使用top一看发现有个别进程占用cpu奇高,遂出此文 二.怎么解决? 2.1 什么进程占据很高cpu 名为kidle_inject,同时开启了好几 ...
- Ubuntu下正确使用cmake编译安装glog
1,安装gflags git clone https://github.com/gflags/gflags.git cd gflags mkdir build && cd build ...
最新文章
- oracle登录错误:ORA-28000: the account is locked 解决方法
- unity调用python脚本_Unity3d中C#脚本调用另一个C#脚本的方法
- jar打包 剔除第三方依赖以及它的依赖_为什么Spring Boot的 jar 可以直接运行?
- nginx一 之负载均衡介绍
- mysql + keepalived高可用
- 进阶移动开发,技术赋能产业
- Keras——用Keras搭建RNN回归循环神经网络
- android webview 设置cookie时间,解决Android webview设置cookie和cookie丢失的问题
- 桥接(Bridge)
- 1.2 cacti安装
- 数据结构 KMP 算法实现
- 如何更改电脑开机密码
- 联想服务器没有安装iis组件,win10没有iis怎么安装_手把手教你安装iis的详细步骤...
- Shel编程之免交互5
- 超级玛丽 Super Mario java基础小游戏:基于JAVA面向对象实现的超级马里奥(Super Mario)游戏(简单小游戏,仅仅使用Java面向对象基础实现(附上源码))
- 从零构建 React 开发环境(一) —— hello world,麻雀虽小五脏俱全~
- 【沧海拾昧】微机原理:8086/8088中断系统
- mysql5.7.19winx64安装_mysql5.7.19winx64安装配置方法图文教程(win10)
- Thinking in Java(Fourth Edition)2.11
- 1.4 计算机专业高级教程(计算机安全防护知识)