跳过正文
  1. Posts/

Build Onnxruntime With Bazel

背景
#

需要使用bazel build onnxruntime

但是onnxruntime本身没有提供bazel相关的配置

作为单独的repo
#

将onnxruntime的包下载下来解压

主要的坑点在于动态库必须写全版本号,不然无法成功导入 完整的BUILD.bazel文件为

 1
 2
 3
 4cc_import(
 5  name = "ort_lib",
 6  hdrs = glob(["onnxruntime-linux-x64-1.13.1/include/**/*.h"]),
 7  # FIXME: 这里的动态库必须写全版本号,不然会出现error: undefined reference to 'OrtGetApiBase'
 8  shared_library = "onnxruntime-linux-x64-1.13.1/lib/libonnxruntime.so.1.13.1",
 9)
10
11cc_library(
12  name = "ort",
13  hdrs = glob(["onnxruntime-linux-x64-1.13.1/include/**/*.h"]),
14  visibility = ["//visibility:public"],
15  # copts = ["-Ionnxruntime-linux-x64-1.13.1/include"],
16  strip_include_prefix = "onnxruntime-linux-x64-1.13.1/include",
17  deps = [":ort_lib"]
18)
19
20
21
22cc_binary(
23  name = "demo",
24  srcs = ["demo.cc"],
25  deps = [":ort"],
26  # linkstatic=False,
27  # copts = ["-Ionnxruntime-linux-x64-1.13.1/include"],
28)

cc文件中,头文件的路径为

1#include "onnxruntime_cxx_api.h"

相关文章

【施工中】torch2trt 学习笔记

前言 # 偶然发现了 torch2trt 的模型转换方案,思路是直接将pytorch op映射到TensorRT的python api. 在pytorch进行每个op forward的时候,tensorrt也相应往network上添加op. 这里会先涉及torch2trt的使用,后面会补充这个转换工具的代码学习

Jetson Nano踩坑记录

·8 分钟
写在前面 # 主要是需要在jetson nano做模型转换,来记录下踩的坑 目前有两条路径,一条是我们现有的转换路径,也就是pytorch->onnx(->caffe)->trt的路径 在这条路径上踩了比较多的坑,最终暂时放弃,最直接的原因是cudnn8.0升级接口发生改动,编译caffe遇到较多问题 这里其实仍然采用了两条平行的路径,一条是直接在nano上构建环境,另外一种是基于docker(包括构建交叉编译环境用于加快编译速度)