onnx
文章平均质量分 59
落花逐流水
从事人工智能,模式识别与智能系统
展开
-
ONNX的结构与转换
onnx结构与转换原创 2023-11-02 22:52:53 · 844 阅读 · 0 评论 -
Protobuf简介
Protocol Buffers是谷歌用于序列化结构化数据的与语言无关、与平台无关的可扩展机制——想想XML,但它更小、更快、更简单。您只需一次定义数据的结构方式,然后就可以使用特殊的生成源代码,使用各种语言轻松地在各种数据流之间读写结构化数据。要创建地址簿应用程序,需要从.proto文件开始。.proto文件中的定义很简单:为想要序列化的每个数据结构添加一条消息,然后为消息中的每个字段指定一个名称和类型。这里是定义你的消息的.proto文件,addressbook.proto。原创 2023-03-04 17:27:10 · 819 阅读 · 0 评论 -
onnx模型的修改
onnx模型生成与修改原创 2022-10-01 09:11:39 · 293 阅读 · 0 评论 -
opencv Mat格式转onnxruntime格式 c++
opencv Mat格式转onnxruntime格式 c++1、opencv cv::Mat转 onnx Tensor2、自己用过的 cv:Mat和 onnxruntime Tensor互转1、opencv cv::Mat转 onnx Tensor下面的代码假设使用3通道处理数据 (通常就是这样子的) resize_img.convertTo(resize_img, CV_32F, 1.0 / 255); //divided by 255 resize_img -= 0.5f原创 2022-02-21 10:26:02 · 1435 阅读 · 0 评论 -
onnx 需要指定provider
ValueError: This ORT build has ['TensorrtExecutionProvider', 'CUDAExecutionProvider', 'CPUExecutionProvider'] enabled. Since ORT 1.9, you are required to explicitly set the providers parameter when instantiating InferenceSession. For example, onnxruntime.I原创 2022-01-09 22:37:33 · 17550 阅读 · 8 评论 -
onnx cpu c++ 推理无结果
onnx cpu c++ 推理无结果先说结论,pytorch生成onnx模型时,使用的cuda模型,在c++中使用的是CPU推理,加载模型成功,输入数据没有问题,输出结果为空。解决办法,生成onnx模型时,将device设置为cpu。...原创 2021-12-23 14:23:36 · 2236 阅读 · 0 评论 -
onnxruntime推理CPU GPU切换
onnxruntime推理CPU GPU切换1、切换CPU与GPU1、切换CPU与GPU在anaconda环境下安装了onnxruntime和onnxruntime-gpu,在使用时总是默认调用gpu版本的库。有时需要对比CPU和GPU的性能,有时因为显存不够只能使用CPU版本的库,但是系统默认调用GPU的库,网上看到一些说法,为了测试CPU只能把GPU的库卸载了,这种说法我不赞成。其实只要细心,跳转到onnxruntime的InferenceSession定义据可以知道,办法是有的,就是多设置一个原创 2021-12-22 11:52:57 · 5468 阅读 · 0 评论 -
onnxruntime gpu 推理
onnxruntime gpu 推理1、ocr关于onnxruntime gpu c++代码1、ocr关于onnxruntime gpu c++代码OCR 跨平台工程化onnxruntime gpu c++代码网上关于onnxruntime运行在gpu环境下运行OCR模型的代码较少,经过查阅,其实就是在初始化模型的时候这样写就可以了void DbNet::setNumThread(int numOfThread) { numThread = numOfThread; //===ses原创 2021-12-10 17:58:44 · 2420 阅读 · 7 评论 -
使用cmake查找onnx
使用cmake查找onnx1、写onnx.cmake文件1、写onnx.cmake文件使用时可参考下面的修改后使用。onnxruntimeVersion.cmake# Custom cmake version file by jcariusset(PACKAGE_VERSION "1.7.0")# Check whether the requested PACKAGE_FIND_VERSION is compatibleif("${PACKAGE_VERSION}" VERSION_LES原创 2021-12-06 22:40:28 · 1157 阅读 · 0 评论 -
onnxruntime c++ 代码搜集
EfficientDet.h#include <core/session/onnxruntime_cxx_api.h>#include <cstring>#include <array>#include <cmath>#include <algorithm>#include <iostream>#include <opencv2/core/core.hpp>#include <opencv2/highg原创 2021-06-27 10:07:20 · 3183 阅读 · 4 评论 -
第一个onnxruntime c++项目
同样是图像分割的c++ inference,已经实现过原创 2021-06-27 08:12:08 · 2363 阅读 · 4 评论 -
onnxruntime c++ inference
1、导出模型首先,利用pytorch自带的torch.onnx模块导出 .onnx模型文件,具体查看该部分pytorch官方文档,主要流程如下:import torchcheckpoint = torch.load(model_path)model = ModelNet(params)model.load_state_dict(checkpoint['model'])model.eval()input_x_1 = torch.randn(10,20)input_x_2 = torch.ra原创 2021-06-25 23:14:19 · 4866 阅读 · 1 评论 -
pytorch转onnx遇到的问题汇总
1、关于torch导出onnx时候无法导出 upsample_bilinear2d的问题:有人说直接将bilinear换成nearest,但是模型效果自然打折扣完美的解决方案如下torch.onnx.export(model, dummy_tensor, output, export_params=True,opset_version=11)这里只需要在后面多加一个 opset_version = 11 就可以解决但是前提是你的pytorch版本需要大于1.3.02、ONNX export f原创 2021-06-11 16:24:03 · 3310 阅读 · 1 评论 -
onnx转ncnn
本来以为安装完onnx可以直接使用onnxsim,发现还需要安装onnxsimstep 1 安装onnxsimpip install onnx-simplifier导出的onnx模型包含许多冗余的维度,这是不支持ncnn的,所以需要进行去掉冗余的维度。step 2 使用命令导出sim.onnx模型python -m onnxsim BiSeNet.onnx BiSeNet-sim.onnx或者加载onnx文件,simplify处理后重新保存,代码如下from onnxsim im原创 2021-06-04 16:02:31 · 1227 阅读 · 1 评论 -
onnxruntime推理
今天转换了一个pytorch模型到onnx模型。然后想要测试一下onnx模型是不是可以正常使用。然后就发现自己几乎没有接触过onnx推理的python代码。所以就整理了一下,还是参考了一下自己之前的博客onnx模型转换及推理使用的是一个图像分割的模型转的onnx模型。然后发现onnx真的支持的算子很少,连一个sigmoid函数都没有找到,看到后处理中还要用到sigmoid函数,这个虽然很简单,居然还要自己实现。import osimport onnxfrom onnx import optim原创 2021-06-04 15:44:10 · 3345 阅读 · 0 评论