【JetsonNano】onnxruntime-gpu 环境编译和安装,支持 Python 和 C++ 开发
1. 设备

2. 环境
sudo apt-get install protobuf-compiler libprotoc-devexport PATH=/usr/local/cuda/bin:${PATH}
export CUDA_PATH=/usr/local/cuda
export cuDNN_PATH=/usr/lib/aarch64-linux-gnu
export CMAKE_ARGS="-DONNX_CUSTOM_PROTOC_EXECUTABLE=/usr/bin/protoc"
3.源码
mkdir /code
cd /code
git clone --recursive https://github.com/Microsoft/onnxruntime.git
# 从 tag v1.16.0 切换分支进行编译
git checkout -b v1.16.0 v1.16.0git submodule update --init --recursive --progress
cd /code/onnxruntime
4.编译
# --parallel 2 使用 2 个 cpu 进行编译,防止内存和CPU性能不足导致编译识别
./build.sh --config Release --update --build --parallel 2 --build_wheel \
--use_tensorrt --cuda_home /usr/local/cuda --cudnn_home /usr/lib/aarch64-linux-gnu \
--tensorrt_home /usr/lib/aarch64-linux-gnu
若编译识别,内存不足,可进行扩大交换内存
https://labelnet.blog.csdn.net/article/details/136538479
编译完成标识
...
build complate!
5. 安装
cd /build/Linux/Release
sudo make install

6.查看
/usr/lcoal 查看安装
7.下载
(1) 整个 build 目录,包含 build/Linux/Relase
https://download.csdn.net/download/LABLENET/88943160
(2) 仅 Python3.8 安装文件,onnxruntime-gpu-1.16.0-cp38-cp38-linux-aarch64.whl
https://download.csdn.net/download/LABLENET/88943155
8. 静态库编译安装
1)编译
添加 l --build_shared_lib
./build.sh --config Release --update --build --parallel --build_shared_lib --build_wheel \
--use_tensorrt --cuda_home /usr/local/cuda --cudnn_home /usr/lib/aarch64-linux-gnu \
--tensorrt_home /usr/lib/aarch64-linux-gnu
2)安装
sudo cmake install

9. 静态库下载使用
C++, 见文件 https://download.csdn.net/download/LABLENET/88943411

10 C++ 开发
CMakeList.txt 中配置使用
...
# onnxruntime
find_package(onnxruntime REQUIRED)
message(onnxruntime_dir: ${onnxruntime_DIR})
target_link_libraries (${MODULE_NAME} PUBLIConnxruntime::onnxruntime
)
C++ 代码
#include <onnxruntime_cxx_api.h>int main()
{auto providers = Ort::GetAvailableProviders();cout << Ort::GetVersionString() << endl;for (auto provider : providers){cout << provider << endl;}
}

11. Python 开发
安装依赖包
pip3 install onnxruntime_gpu-1.16.0-cp38-cp38-linux_aarch64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple/
开发
import onnxruntimeprint("OnnxRuntime Provider : ", onnxruntime.get_available_providers())
输出
OnnxRuntime Provider : ['TensorrtExecutionProvider', 'CUDAExecutionProvider', 'CPUExecutionProvider']
相关文章:
【JetsonNano】onnxruntime-gpu 环境编译和安装,支持 Python 和 C++ 开发
1. 设备 2. 环境 sudo apt-get install protobuf-compiler libprotoc-devexport PATH/usr/local/cuda/bin:${PATH} export CUDA_PATH/usr/local/cuda export cuDNN_PATH/usr/lib/aarch64-linux-gnu export CMAKE_ARGS"-DONNX_CUSTOM_PROTOC_EXECUTABLE/usr/bin/protoc&qu…...
知名比特币质押协议项目Babylon确认参加Hack.Summit()2024区块链开发者大会
Babylon项目已确认将派遣其项目代表出席2024年在香港数码港举办的Hack.Summit()2024区块链开发者大会。作为比特币生态的领军项目,Babylon积极参与全球区块链领域的交流与合作,此次出席大会将为其提供一个展示项目进展、交流技术与创新思路的重要平台。B…...
如何学习、上手点云算法(三):用VsCode、Visual Studio来debug基于PCL、Open3D的代码
写在前面 本文内容 以PCL 1.14.0,Open3D0.14.1为例,对基于PCL、Open3D开发的代码进行源码debug; 如何学习、上手点云算法系列: 如何学习、上手点云算法(一):点云基础 如何学习、上手点云算法(二):点云处理相…...
【干货】alzet渗透泵操作说明
alzet渗透泵是一款小型、可植入式的胶囊渗透泵产品,此产品由于其独特的渗透原理,深受广大科研人员的喜爱。该泵可适用于小鼠、大鼠及其他实验动物的研究,并且alzet渗透泵可减轻科研人员夜间及周末给药的困扰。alzet渗透泵无需外部连接或频繁处…...
CVPR 2022 Oral | Bailando: 基于编舞记忆和Actor-Critic GPT的3D舞蹈生成
目录 测试结果: 02 提出的方法 测试结果: 预测有3个步骤,速度比较慢 02 提出的方法 1. 针对舞蹈序列的VQ-VAE和编舞记忆 与之前的方法不同,我们不学习从音频特征到 3D 关键点序列的连续域的直接映射。相反,我们先让…...
解读电影级视频生成模型 MovieFactory
Diffusion Models视频生成-博客汇总 前言:MovieFactory是第一个全自动电影生成模型,可以根据用户输入的文本信息自动扩写剧本,并生成电影级视频。其中针对预训练的图像生成模型与视频模型之间的gap提出了微调方法非常值得借鉴。这篇博客详细解读一下这篇论文《MovieFactory:…...
【Python从入门到进阶】50、当当网Scrapy项目实战(三)
接上篇《49、当当网Scrapy项目实战(二)》 上一篇我们讲解了的Spider与item之间的关系,以及如何使用item,以及使用pipelines管道进行数据下载的操作,本篇我们来讲解Scrapy的多页面下载如何实现。 一、多页面下载原理分…...
【调试记录】vscode远程连接问题汇总
1. kex_exchange_identification kex_exchange_identification: read: Connection reset by xxx.xx.xx.x 一直连不上实验室的服务器,用PUTTY和Mobaxterm也不行(报错:Remote side unexpectedly closed network connection)。已知…...
基于springboot的疾病防控综合系统
采用技术 基于springboot的疾病防控综合系统的设计与实现~ 开发语言:Java 数据库:MySQL 技术:SpringBootMyBatis 工具:IDEA/Ecilpse、Navicat、Maven 系统效果展示 用户功能效果 打卡管理 接种记录查看 公告信息查看 社区…...
js实现文本内容过长中间显示...两端正常展示
实现效果 实现思路 获取标题盒子的真实宽度, 我这里用的是clientWidth;获取文本内容所占的实际宽度;根据文字的大小计算出每个文字所占的宽度;判断文本内容的实际宽度是否超出了标题盒子的宽度;通过文字所占的宽度累加之和与标题…...
Buran勒索病毒通过Microsoft Excel Web查询文件进行传播
Buran勒索病毒首次出现在2019年5月,是一款新型的基于RaaS模式进行传播的新型勒索病毒,在一个著名的俄罗斯论坛中进行销售,与其他基于RaaS勒索病毒(如GandCrab)获得30%-40%的收入不同,Buran勒索病毒的作者仅占感染产生的25%的收入,…...
中间件 | Redis - [基本信息]
INDEX 1 常规用法2 QPS3 pipeline 1 常规用法 分布式锁 最常见用法,需要注意分布式锁的redis需要单点 分布式事务 分布式事务中,核心的技术难点其实是分布式事务这个事本身作为数据的持久化 2PC,比如 seata 的 AT 模式下,将 un…...
【Docker】Neo4j 容器化部署
Neo4j环境标准软件基于Bitnami neo4j 构建。当前版本为5.17.0 你可以通过轻云UC部署工具直接安装部署,也可以手动按如下文档操作,该项目已经全面开源,可以从如下环境获取 配置文件地址: https://gitee.com/qingplus/qingcloud-platform Qin…...
Visual studio编译器报1个无法解析的外部命令
解决思路:(以下思路需对照代码进行逐点分析) ①:代码里函数有声明,但是没有定义 (初学者错这个比较多) ②:类中有静态变量成员,没有对它进行初始化(是变量&…...
微信小程序(五十三)修改用户头像与昵称
注释很详细,直接上代码 上一篇 新增内容: 1.外界面个人资料基本模块 2.资料修改界面同步问题实现(细节挺多,考虑了后期转服务器端的方便之处) 源码: app.json {"window": {},"usingCompone…...
VUE3 显示Echarts百度地图
本次实现最终效果 技术基础以及环境要求 vue3 echarts 百度地图API 要求1: VUE3 环境搭建:https://blog.csdn.net/LQ_001/article/details/136293795 要求2: VUE3 echatrs 环境搭建:https://blog.csdn.net/LQ_001/article/details/1363…...
FFmpeg将视频包AVPacket通过视频流方式写入本地文件
1.写视频头 void writeVideoHeader(const char* videoFileName){int r avformat_alloc_output_context2(&pFormatCtx, nullptr, nullptr,videoFileName);if(r < 0){qDebug()<<"Error: avformat_alloc_output_context2: "<<av_err2str(r);return;…...
C语言连接【MySQL】
稍等更新图片。。。。 文章目录 安装 MySQL 库连接 MySQLMYSQL 类创建 MySQL 对象连接数据库关闭数据库连接示例 发送命令设置编码格式插入、删除或修改记录查询记录示例 参考资料 安装 MySQL 库 在 CentOS7 下,使用命令安装 MySQL: yum install mysq…...
_note_09
1.说一说类加载的过程 加载(Loading) -> 验证(Verification) -> 准备(Preparation) -> 解析(Resolution) -> 初始化(Initialization)类的加载是…...
是否可以在HTTP中缓存POST方法
如果您想知道是否可以缓存post请求,并尝试研究该问题的答案,那么您很可能不会成功。当搜索“缓存post请求”时,第一个结果是这个StackOverflow问题。 答案是令人困惑的,包括缓存应该如何工作,缓存如何根据RFC工作&…...
基于yolo26算法的大坝缺陷识别 智慧水利工程监测 防寒抗洪监测 水坝安全防护监测 水利工程安全监测 坝体结构状态分析第10428期
数据集说明一、核心信息概览项目详情类别数量及中文名称2 类,分别为: 裂缝、剥落数据总量1400 条(图像数据)数据集格式种类YOLO 格式最重要应用价值支持大坝坝段实例分割模型训练,为水利工程安全监测、坝体结构状态分析…...
DimmerLED:基于ATmega328P的MySensors LED调光固件
1. 项目概述DimmerLED 是一个面向智能家居场景的嵌入式LED调光控制器固件,其核心设计目标是将硬件级PWM调光能力与MySensors无线传感网络协议栈深度集成,实现低功耗、高可靠、可远程控制的照明节点。该固件并非通用LED驱动库,而是一个完整可部…...
AI编程实战:从零到一搭建全栈项目潜
1. 核心概念 在 Antigravity 中,技能系统分为两层: Skills (全局库):实际的代码、脚本和指南,存储在系统级目录(如 ~/.gemini/antigravity/skills)。它们是“能力”的本体。 Workflows (项目级):…...
批量PDF合并工具使用说明:批量合并与直接合并两种模式,拖拽排序/页面范围/遍历子目录/重名自动处理
【批量PDF合并工具】用于把多个 PDF 合并成一个 PDF,提供两种常用模式:批量合并:选择文件夹,让工具按规则自动收集并合并 PDF直接合并:把 PDF 拖到列表里,手动调整顺序后合并(更可控)…...
嵌入式OTA封装库:解耦硬件与升级逻辑的生产级抽象层
1. OTAHandler:嵌入式系统OTA能力封装库深度解析1.1 设计定位与工程价值OTAHandler并非一个独立的固件升级协议栈,而是一个面向生产级嵌入式系统的OTA能力抽象层。其核心设计哲学是“解耦”与“可移植”——将底层通信驱动(UART/USB/CAN/Ethe…...
达梦数据库安全加固避坑指南:那些等保评测中容易忽略的配置细节(DM8实测)
达梦数据库安全加固实战:等保评测中的高阶配置陷阱与优化策略 在数据库安全领域,达梦数据库作为国产化替代的重要选择,其安全配置的严谨性直接关系到等保评测的成败。许多中高级运维人员虽然熟悉基础安全设置,却常常在等保测评的关…...
RotaryEncoder库:嵌入式四象限正交解码实战指南
1. RotaryEncoder 库深度解析:面向嵌入式工程师的四象限解码实践指南1.1 项目定位与工程价值RotaryEncoder 是一个专为 Arduino 环境设计、但具备高度可移植性的轻量级旋转编码器解码库。其核心目标并非简单计数,而是在资源受限的 MCU 上实现高鲁棒性、低…...
如何免费提升Windows性能51%?Win11Debloat终极系统优化指南
如何免费提升Windows性能51%?Win11Debloat终极系统优化指南 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter a…...
Cadence 17.4 原理图分页符实战:解决‘1 of 1’报错,搞定多页连接
Cadence 17.4 原理图分页符深度解析:从报错诊断到高效设计实践 在复杂电路设计领域,Cadence 17.4作为行业标杆工具,其原理图设计功能直接影响着工程师的工作效率和设计质量。而多页原理图连接问题,尤其是分页符(off-page)配置不当…...
