Jetson Orin arm64架构搭建手写AI tensorRT_Pro项目环境

Jetson远程开发最佳实践:Cursor替代VS Code的架构优势与ARM64适配指南 远程开发是嵌入式AI开发的核心范式,其本质是将计算密集型语言服务与资源受限设备解耦。基于SSH协议的远程IDE需兼顾低延迟、高语义理解精度与跨架构兼容性,技术价值在于突破ARM64设备内存与CPU瓶颈,支撑ROS2、CUDA、C++/Python混合项目高效迭代。典型应用场景包括边缘机器人调试、JetPack部署下的视觉推理开发及实时传感数据处理。本文聚焦Jetson系列(Nano/Xavier NX/Orin)在Cursor远程开发中的真实落地问题,深入解析PAM认证、ARM64头文件路径、fcitx5输 阅读详情

0 引言

  tensorRT是nvidia发布的dnn推理引擎,是针对nvidia系列硬件进行优化加速,实现最大程度的利用GPU资源,提升推理性能。
  手写AI:tensorRT_Pro项目是在tensorRT的基础上,提出的一套从onnx( pytorch etc.)到TRT Engine模型推理的解决方案。
在这里插入图片描述
  但是该方案目前主要支持的是linux x86_64的系统以及windows的系统,其实也支持jetson nano、orin等arm架构,不过网上相关资料较少,因此,记录一下将该项目部署在nvidia jetson orin边缘设备上。

一、项目下载

github : https://github.com/shouxieai/tensorRT_Pro

git clone https://github.com/shouxieai/tensorRT_Pro.git

bilibili课程:https://www.bilibili.com/video/BV1Xw411f7FW?p=1

或者
使用trtpy进行拉取更多案例

conda activate yourenv
pip install -U trtpy -i https://pypi.tuna.tsinghua.edu.cn/simple  
# 最近清华源可能会连接超时,可以使用一下魔法
echo alias trtpy=\"python -m trtpy\">>~/.bashrc && source ~/.bashrc

conda activate yourenv
trtpy set-key [your key]
# your key请添加手写ai微信号:shouxie_ai。获取临时key,有效期大约一周
trtpy get-templ learn-unet-cpp
cd learn-unet-cpp
# 这里以learn-unet-cpp为例子进行环境配置
# 其实tensorRT_Pro也差不多,后面有时间把tensorRT_Pro补上

拉取后文件结构:
在这里插入图片描述使用learn-unet-cpp测试的话在编译过程还需要将tensorRT_Pro项目中的tensorRT_Pro/src/tensorRT/ 下的文件拷贝到learn-unet-cpp/src/tensorRT目录下。或者在编写makefile文件时在include内包含进去。
在这里插入图片描述

二、环境依赖安装

配置tensorRT_Pro的项目最核心的就是makefile文件的修改,但是首先得保证你的jetson设备上已经安装了opencv、tensorRT、cuda、cudnn、protobuf, 正常在购买jetson设备后进行刷机会将jetpack刷进去(protobuf除外),自然就会包含这些库,protobuf需要人为手动编译安装。tensorRT_Pro项目需要的依赖版本如下:

CUDA10.1
CUDNN8.2.2.26
OpenCV3.4.6 or 4.x
the above three are modifiable as long as being compatible to TensorRT
Protobuf3.11.4
tensorrt-8.0.1.6
# 其中cuda、cudnn、opencv版本可以修改,适配 TensorRT即可,protobuf版本不建议修改,否则会有可能出现问题

可以使用下面命令判断是否已经进行安装。

1、判断cuda是否安装

nvcc -V

如果出现下列情况证明安装成功

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Sun_Oct_23_22:16:07_PDT_2022
Cuda compilation tools, release 11.4, V11.4.315
Build cuda_11.4.r11.4/compiler.31964100_0

2、判断cudnn是否安装

dpkg -l libcudnn8

如果出现下列情况证明安装成功

期望状态=未知(u)/安装(i)/删除(r)/清除(p)/保持(h)
| 状态=未安装(n)/已安装(i)/仅存配置(c)/仅解压缩(U)/配置失败(F)/不完全安装(H)/触>
|/ 错误?=(无)/须重装(R) (状态,错误:大写=故障)
||/ 名称           版本                 体系结构     描述
+++-==============-====================-============-==========================>
ii  libcudnn8      8.6.0.166-1+cuda11.4 arm64        cuDNN runtime libraries
lines 1-6/6 (END)

3、判断tensorrt是否安装

dpkg -l tensorrt

如果出现下列情况证明安装成功

期望状态=未知(u)/安装(i)/删除(r)/清除(p)/保持(h)
| 状态=未安装(n)/已安装(i)/仅存配置(c)/仅解压缩(U)/配置失败(F)/不完全安装(H)/触>
|/ 错误?=(无)/须重装(R) (状态,错误:大写=故障)
||/ 名称           版本               体系结构     描述
+++-==============-==================-============-============================>
ii  tensorrt       8.5.2.2-1+cuda11.4 arm64        Meta package for TensorRT
lines 1-6/6 (END)

4、判断opencv是否安装

dpkg -l libopencv

如果出现下列情况证明安装成功

期望状态=未知(u)/安装(i)/删除(r)/清除(p)/保持(h)
| 状态=未安装(n)/已安装(i)/仅存配置(c)/仅解压缩(U)/配置失败(F)/不完全安装(H)/触>
|/ 错误?=(无)/须重装(R) (状态,错误:大写=故障)
||/ 名称           版本                体系结构     描述
+++-==============-===================-============-===========================>
ii  libopencv      4.5.4-8-g3e4c170df4 arm64        Open Computer Vision Library
lines 1-6/6 (END)

上面四个步骤如果有疑问请参考这篇博客:
判断jetpack环境是否安装好:https://blog.csdn.net/qq_42178122/article/details/129101682
刷机教程:https://blog.csdn.net/weixin_44921896/article/details/127361741

5、protobuf交叉编译安装

注意正常刷机时protobuf并不会安装,需要进行手动编译安装,一般如果已安装的话可以在/usr/include/google/protobuf路径可以找到。如果没有安装可以参考这篇博客进行安装。
5.1 源码下载
github下载源码 GitHub - protocolbuffers/protobuf: Protocol Buffers - Google’s data interchange format
下载3.11版本

5.2 编译步骤

cd protobuf-3.11.x
 ./autogen.sh

如果出错的话 apt-get install这些(一般不会出错):

autoconf
automake
ibtool
make
g++
unzip

5.3 交叉编译

# 还是protobuf-3.11.x目录
# /PATH 是你交叉编译工具链所在的路径  --prefix为交叉编译后文件的路径.
# 我的路径是:/usr/bin/aarch64-linux-gnu-gcc , /usr/bin/aarch64-linux-gnu-g++   
./configure --host=arm-linux CC=/PATH/aarch64-linux-gnu-gcc CXX=/PATH/aarch64-linux-gnu-g++ --prefix=/home/xxx/protobuf/install
make -j
make install

这一步我没遇到什么bug,如果遇到问题建议百度找找。编译后在/home/xxx/protobuf/install路径下会有以下几个文件。
在这里插入图片描述
这几个文件路径在后面makefile文件中会用到。

注意上面的关于protobuf的版本一定不要随便更改,如果要更改请参考原项目readme.md。
不然可能会报下列bug:

fatal error: google/protobuf/generated_message_table_driven.h: 没有那个文件或目录

很明显是有部分文件没找到,这个与protobuf版本有关系。

三、核心:makefile文件的修改

接下来就是最主要也是最重要的步骤,最好知道一些makefile基础命令。
从trtpy拉取下来的learn-unet-cpp原始的makefile文件内容如下:

cc        := g++
name      := pro
workdir   := workspace
srcdir    := src
objdir    := objs
stdcpp    := c++11
cuda_home := /home/liu/anaconda3/envs/py/lib/python3.8/site-packages/trtpy/trt8cuda115cudnn8
cpp_pkg   := /home/liu/anaconda3/envs/py/lib/python3.8/site-packages/trtpy/cpp-packages
trtpro_inc := /home/liu/anaconda3/envs/py/lib/python3.8/site-packages/trtpy/include
trtpro_lib := /home/liu/anaconda3/envs/py/lib/python3.8/site-packages/trtpy/trt8cuda115cudnn8/py38
syslib    := /home/liu/anaconda3/envs/py/lib/python3.8/site-packages/trtpy/lib
cuda_arch := 
nvcc      := $(cuda_home)/bin/nvcc -ccbin=$(cc)

# 定义cpp的路径查找和依赖项mk文件
cpp_srcs := $(shell find $(srcdir) -name "*.cpp")
cpp_objs := $(cpp_srcs:.cpp=.cpp.o)
cpp_objs := $(cpp_objs:$(srcdir)/%=$(objdir)/%)
cpp_mk   := $(cpp_objs:.cpp.o=.cpp.mk)

# 定义cu文件的路径查找和依赖项mk文件
cu_srcs := $(shell find $(srcdir) -name "*.cu")
cu_objs := $(cu_srcs:.cu=.cu.o)
cu_objs := $(cu_objs:$(srcdir)/%=$(objdir)/%)
cu_mk   := $(cu_objs:.cu.o=.cu.mk)

# 定义opencv和cuda需要用到的库文件
link_opencv    := opencv_core opencv_imgproc opencv_imgcodecs
link_cuda      := cudart cudnn
link_trtpro    := trtpro protobuf
link_tensorRT  := nvinfer nvparsers nvinfer_plugin
link_sys       := stdc++ dl
link_librarys  := $(link_opencv) $(link_cuda) $(link_tensorRT) $(link_sys) $(link_trtpro)

# 定义头文件路径,请注意斜杠后边不能有空格
# 只需要写路径,不需要写-I
include_paths := src              \
    $(cuda_home)/include/cuda     \
	$(cuda_home)/include/tensorRT \
	$(cuda_home)/include/protobuf \
	$(cpp_pkg)/opencv4.2/include  \
	$(trtpro_inc)

# 定义库文件路径,只需要写路径,不需要写-L
library_paths := $(cuda_home)/lib64 $(trtpro_lib) $(syslib) $(cpp_pkg)/opencv4.2/lib

# 把library path给拼接为一个字符串,例如a b c => a:b:c
# 然后使得LD_LIBRARY_PATH=a:b:c
empty := 
library_path_export := $(subst $(empty) $(empty),:,$(library_paths))

# 把库路径和头文件路径拼接起来成一个,批量自动加-I、-L、-l
run_paths     := $(foreach item,$(library_paths),-Wl,-rpath=$(item))
include_paths := $(foreach item,$(include_paths),-I$(item))
library_paths := $(foreach item,$(library_paths),-L$(item))
link_librarys := $(foreach item,$(link_librarys),-l$(item))

# 如果是其他显卡,请修改-gencode=arch=compute_75,code=sm_75为对应显卡的能力
# 显卡对应的号码参考这里:https://developer.nvidia.com/zh-cn/cuda-gpus#compute
# 如果是 jetson nano,提示找不到-m64指令,请删掉 -m64选项。不影响结果
cpp_compile_flags := -std=$(stdcpp) -w -g -O0 -m64 -fPIC -fopenmp -pthread
cu_compile_flags  := -std=$(stdcpp) -w -g -O0 -m64 $(cuda_arch) -Xcompiler "$(cpp_compile_flags)"
link_flags        := -pthread -fopenmp -Wl,-rpath='$$ORIGIN'

其实文件后面还有一些内容,但是无所谓,那些不需要进行修改。
注意:你拉取这个测试案例的时候可能下面这几个路径都是空的,这个路径是我在x86_64 ubuntu系统下测试的时候,因为使用的是一键安装环境时自动修改的,我直接将这个项目拷贝到jetson orin内。
所以,如果使用的是服务器,还是非常推荐作者提供的一键安装环境功能的,具体可以看这个bilibili教程。
接下来下面这些目录就是我们一会需要进行修改的地方。

cuda_home := /home/liu/anaconda3/envs/py/lib/python3.8/site-packages/trtpy/trt8cuda115cudnn8
cpp_pkg   := /home/liu/anaconda3/envs/py/lib/p这个路径ython3.8/site-packages/trtpy/cpp-packages
trtpro_inc := /home/liu/anaconda3/envs/py/lib/python3.8/site-packages/trtpy/include
trtpro_lib := /home/liu/anaconda3/envs/py/lib/python3.8/site-packages/trtpy/trt8cuda115cudnn8/py38
syslib    := /home/liu/anaconda3/envs/py/lib/python3.8/site-packages/trtpy/lib

首先我们得知道这些目录表示的是什么意思

cuda_home := cuda目录,该目录下包含了cuda、cudnn、tensorrt、protobuf头文件和库文件
cpp_pkg   := opencv目录,该目录包含了opencv头文件和库文件
trtpro_inc := tensorRT_Pro头文件目录
trtpro_lib := tensorRT_Pro库文件目录
syslib    := 系统库文件目录

这里我们由于是在jetson orin arm64系统下,作者没有提供该系统下tensorRT_Pro编译好的链接库,所以需要我们重新编译。
其他目录修改为orin对应下的目录即可。我这里修改的为:

cuda_home := /usr/local/cuda-11.4
cuda_lib   := /usr/local/cuda-11.4/lib64
sys_inc    := /usr/include
protobuf_inc := /home/liu/protobuf/install/include
syslib     := /usr/lib/aarch64-linux-gnu
protobuf_lib := /home/liu/protobuf/install/lib

cuda头文件和库文件目录不需要解释,注意:系统文件sys_inc 目录中会包含opencv头文件目录,其下面的aarch64-linux-gnu会包含tensorrt、cudnn头文件目录。syslib 目录包含所有与sys_inc对应的opencv、tensorrt、cudnn库文件。
protobuf_inc、protobuf_lib路径为2.5节安装的protobuf路径。
其中,tensorRT_Pro目录将会在include_paths包含进去进行编译。
修改后的makefile文件如下所示:

cc        := g++
name      := pro
workdir   := workspace
srcdir    := src
objdir    := objs
stdcpp    := c++11
cuda_home := /usr/local/cuda-11.4
sys_inc    := /usr/include
protobuf_inc := /home/liu/protobuf/install/include
cuda_lib   := /usr/local/cuda-11.4/lib64
syslib     := /usr/lib/aarch64-linux-gnu
protobuf_lib := /home/liu/protobuf/install/lib

cuda_arch := 
nvcc      := $(cuda_home)/bin/nvcc -ccbin=$(cc)

# 定义cpp的路径查找和依赖项mk文件
cpp_srcs := $(shell find $(srcdir) -name "*.cpp")
cpp_objs := $(cpp_srcs:.cpp=.cpp.o)
cpp_objs := $(cpp_objs:$(srcdir)/%=$(objdir)/%)
cpp_mk   := $(cpp_objs:.cpp.o=.cpp.mk)

# 定义cu文件的路径查找和依赖项mk文件
cu_srcs := $(shell find $(srcdir) -name "*.cu")
cu_objs := $(cu_srcs:.cu=.cu.o)
cu_objs := $(cu_objs:$(srcdir)/%=$(objdir)/%)
cu_mk   := $(cu_objs:.cu.o=.cu.mk)

# 定义opencv和cuda需要用到的库文件
link_opencv    := opencv_core opencv_imgproc opencv_imgcodecs opencv_videoio
link_cuda      := cudart cudnn cuda cublas
link_trtpro    := protobuf
link_tensorRT  := nvinfer nvparsers nvinfer_plugin
link_sys       := stdc++ dl
link_librarys  := $(link_opencv) $(link_cuda) $(link_tensorRT) $(link_sys) $(link_trtpro)

# 定义头文件路径,请注意斜杠后边不能有空格
# 只需要写路径,不需要写-I  	$(protobuf_inc)
include_paths := src              \
	src/tensorRT				  \
	src/tensorRT/common 		  \
	$(sys_inc)    				  \
    $(cuda_home)/include	      \
	$(sys_inc)/aarch64-linux-gnu  \
	$(sys_inc)/opencv4			  \
	$(protobuf_inc)


# 定义库文件路径,只需要写路径,不需要写-L
library_paths := $(protobuf_lib) $(cuda_lib) $(syslib)

# 把library path给拼接为一个字符串,例如a b c => a:b:c
# 然后使得LD_LIBRARY_PATH=a:b:c
empty := 
library_path_export := $(subst $(empty) $(empty),:,$(library_paths))

# 把库路径和头文件路径拼接起来成一个,批量自动加-I、-L、-l
run_paths     := $(foreach item,$(library_paths),-Wl,-rpath=$(item))
include_paths := $(foreach item,$(include_paths),-I$(item))
library_paths := $(foreach item,$(library_paths),-L$(item))
link_librarys := $(foreach item,$(link_librarys),-l$(item))

# 如果是其他显卡,请修改-gencode=arch=compute_75,code=sm_75为对应显卡的能力
# 显卡对应的号码参考这里:https://developer.nvidia.com/zh-cn/cuda-gpus#compute
# 如果是 jetson nano,提示找不到-m64指令,请删掉 -m64选项。不影响结果
cpp_compile_flags := -std=$(stdcpp) -w -g -O0 -fPIC -fopenmp -pthread
cu_compile_flags  := -std=$(stdcpp) -w -g -O0 $(cuda_arch) -Xcompiler "$(cpp_compile_flags)"
link_flags        := -pthread -fopenmp -Wl,-rpath='$$ORIGIN'

在最下面原作者注释了# 如果是 jetson nano,提示找不到-m64指令,请删掉 -m64选项。不影响结果,将-m64删掉,我没试过不删会有啥情况,建议直接删掉。
其他需要修改的地方就是include_paths 和library_paths,原则上就是把cuda、opencv、tensorrt、cudnn四个库的头文件和库文件包含进去。

include_paths := src              \ 
	src/tensorRT				  \
	src/tensorRT/common 		  \ 
	# 上面三个是代码路径和tensorRT_Pro文件路径
	$(sys_inc)    				  \
    $(cuda_home)/include	      \
	$(sys_inc)/aarch64-linux-gnu  \
	$(sys_inc)/opencv4			  \
	$(protobuf_inc)

最后一个修改就是 link_cuda后需要添加cuda cublas,不然会报下面的错误:

Link workspace/pro
/usr/bin/ld: objs/tensorRT/onnxplugin/plugins/DCNv2.cu.o: undefined reference to symbol 'cublasSgemm_v2@@libcublas.so.11'
/usr/bin/ld: /usr/local/cuda-11.4/targets/aarch64-linux/lib/libcublas.so.11: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [Makefile:89:workspace/pro] 错误 1

提示找不到cublas,如果是在tensorRT_Pro项目中进行配置环境的化不需要修改这部分。

四、测试运行

cd learn-unet-cpp
make clean
make run

最后的运行结果:
偷个懒,下面的编译过程是在我的电脑上编译过程,jetson orin关机了,不想在开机,下次有空改回来。

Compile depends C++ src/app_unet.cpp
Compile depends C++ src/unet.cpp
Compile depends C++ src/main.cpp
Compile CXX src/main.cpp
Compile CXX src/unet.cpp
Compile CXX src/app_unet.cpp
Link workspace/pro
[2023-03-16 19:45:27][info][app_unet.cpp:73]:===================== test FP32 unet ==================================
[2023-03-16 19:45:27][info][trt_builder.cpp:474]:Compile FP32 Onnx Model 'unet.onnx'.
[2023-03-16 19:45:32][info][trt_builder.cpp:558]:Input shape is -1 x 3 x 512 x 512
[2023-03-16 19:45:32][info][trt_builder.cpp:559]:Set max batch size = 1
[2023-03-16 19:45:32][info][trt_builder.cpp:560]:Set max workspace size = 1024.00 MB
[2023-03-16 19:45:32][info][trt_builder.cpp:561]:Base device: [ID 0]<NVIDIA GeForce RTX 3060>[arch 8.6][GMEM 10.93 GB/11.75 GB]
[2023-03-16 19:45:32][info][trt_builder.cpp:564]:Network has 1 inputs:
[2023-03-16 19:45:32][info][trt_builder.cpp:570]:      0.[images] shape is -1 x 3 x 512 x 512
[2023-03-16 19:45:32][info][trt_builder.cpp:576]:Network has 1 outputs:
[2023-03-16 19:45:32][info][trt_builder.cpp:581]:      0.[output] shape is -1 x 512 x 512 x 21
[2023-03-16 19:45:32][info][trt_builder.cpp:585]:Network has 69 layers:
[2023-03-16 19:45:32][info][trt_builder.cpp:652]:Building engine...
[2023-03-16 19:46:31][info][trt_builder.cpp:672]:Build done 58972 ms !
[2023-03-16 19:46:31][info][app_unet.cpp:62]:Done, Save to unet.predict.jpg

在workspace环境下得到结果如下:
workspace

在这里插入图片描述
在这里插入图片描述

[orin] nvidia orin 上配置tensorrt | 解决虚拟环境中路径无法import的问题 到系统本身的python目录下,把`tensorrt-8.4.1.5.dist-info`和`tensorrt`两个文件夹拷贝到虚拟环境(我这里的名字叫做`mmdeploy`)中。 阅读详情

相关推荐

jetson agx orin 的pytorch、torchvision、tensorrt安装最全教程

jetson agx orin 的pytorch、torchvision、tensorrt安装最全教程

qq_58728069的博客 1万+

探秘TensorRT Pro:高性能深度学习推理加速神器

是一个由开源社区维护的、基于NVIDIA TensorRT的高级版本,旨在提供更强大、更易用的深度学习推理优化工具。TensorRT本身是NVIDIA开发的一款SDK,专注于提高深度学习模型在GPU上的运行速度和效率,而TensorRT Pro则在此基础上进行了增强,增加了更多的功能和示例,以满足开发者对于性能极致追求的需求。 ## 技术分析 1. **性能优化**:TensorRT Pro通

gitblog_00051的博客 744

终端侧AI芯片怎么选?ESP32-S3、RK3588、Jetson Orin Nano横评

边缘计算已成为AI落地的关键路径,终端侧AI将推理任务从云端迁移至数据源头,以低延迟、高隐私和低带宽成本满足实时场景需求。无论是智能门锁、工业质检还是边缘计算盒子,算力芯片选型都是决定产品性能与成本的核心起点。从轻量级MCU到多TOPS级SoC,不同梯度对应不同工具链与部署策略。本文结合工程实践,深度对比乐鑫ESP32-S3、瑞芯微RK3588与NVIDIA Jetson Orin Nano三款主流方案,覆盖算力分层、内存带宽、量化部署、功耗散热等选型要点,并给出基于真实项目的踩坑记录。通过解析从TFLit

weixin_34289454的博客 369

Jetson Nano 配置tensorRT_Pro环境

详解tensorRT的高性能部署方案,并附有强大的yolov5、yolox、retinaface、arcface、scrfd、deepsort、alphapose的高性能实现,低耦合,哪来即可用,集成到项目中。

qq_51607131的博客 2796

Jetson Orin NX刷机底层原理与全链路实战指南

Jetson Orin NX刷机并非简单镜像烧录,而是涉及BootROM签名验证、BL2哈希校验、设备树加载、内核模块签名及L4T专有驱动栈的硬件级协同过程。其本质是嵌入式AI平台特有的启动流程重构,依赖NVIDIA定制的Linux for Tegra(L4T)发行版机制,与标准Linux存在显著差异。理解该流程对解决黑屏、USB识别失败、CUDA初始化异常等高频问题至关重要。本文聚焦Orin NX 8GB/16GB型号,深入解析从eMMC分区结构、U-Boot设备树绑定到initramfs中tegra-h

weixin_33841722的博客 165

Jetson Nano入门核心误区与正确启动实践

嵌入式AI开发板是边缘智能落地的关键载体,其本质是异构计算架构下的专用推理平台,而非通用单板计算机。理解GPU-CPU协同原理、BootROM启动链路与硬件加速驱动绑定机制,是掌握NVIDIA Jetson系列的基础。Jetson Nano作为入门级边缘AI平台,以5W超低功耗支持ResNet-50/YOLOv3-tiny实时推理,凸显其在能效比与部署轻量化上的技术价值,广泛应用于智能摄像头、ROS机器人、工业质检等场景。本文聚焦Jetson Nano的硬件定位、烧录三关、最小AI流水线构建及典型实战陷阱,

weixin_34354173的博客 368

Hunyuan-MT Pro镜像免配置:支持ARM64架构(Jetson Orin)的预构建镜像

本文介绍了如何在星图GPU平台上一键自动化部署🌏 Hunyuan-MT Pro全能多语言翻译终端镜像,实现专业级多语言翻译。该镜像支持33种语言互译,特别适用于技术文档、商务邮件等场景的精准翻译,提升跨语言沟通效率。

weixin_34885746的博客 23

TensorRT_Pro_YOLO_CenterNet.zip

yolo5+centernet

GTE-Pro部署教程(ARM架构服务器):NVIDIA Jetson Orin兼容方案

本文介绍了如何在星图GPU平台上自动化部署GTE-Pro: Enterprise Semantic Intelligence Engine镜像,实现边缘端企业级语义理解能力。基于NVIDIA Jetson Orin等ARM架构设备,该镜像可快速构建离线RAG知识库,典型应用于工业现场故障描述检索、车载维修手册问答等低延迟、高隐私要求的场景。

weixin_28235889的博客 110

别再乱设阻尼了!Abaqus动力分析中瑞利阻尼的α和β到底怎么算?

本文深入解析Abaqus动力分析中瑞利阻尼参数α和β的科学计算方法,帮助工程师准确设置阻尼参数以提升仿真精度。详细介绍了基于模态阻尼比的经典计算方法和多模态优化法,并结合工程案例演示参数设置流程,避免常见的阻尼设置误区。

weixin_42634811的博客 698

嵌入式常用通信协议 #概述

嵌入式通信协议

AFK3060的博客 2102

Jetson Orin Nano Super深度评测:249美元边缘AI工作站实战解析

边缘AI是指将人工智能模型部署在靠近数据源头的终端设备上,实现低延迟、高隐私、低带宽依赖的实时决策。其核心原理依赖于专用AI加速硬件(如NVIDIA Tensor Core)与高效推理框架(如TensorRT)协同优化,在有限功耗与散热约束下达成稳定算力输出。技术价值体现在确定性性能、工业级可靠性与开箱即用的软硬协同生态。典型应用场景涵盖智能工厂质检、无人车视觉避障、医疗本地化图像分析及多模态物联网终端。本文聚焦Jetson Orin Nano Super这一249美元价位的边缘AI工作站,深入剖析其64

weixin_34279184的博客 316

别再到处找模板了!手把手教你用Vue3+Element Plus搭建一个‘能跑起来’的管理后台原型

本文详细介绍了如何利用Vue3和Element Plus在72小时内快速搭建一个功能完整的管理后台原型。从环境准备到项目获取、依赖安装、原型定制、数据模拟以及构建优化,手把手教你打造一个可直接演示的后台系统,特别适合创业者快速验证产品逻辑。

weixin_26854555的博客 178

Face3D.ai ProGPU算力方案:低功耗Jetson Orin Nano边缘端3D人脸重建可行性验证

本文介绍了如何在星图GPU平台上自动化部署🎭 Face3D.ai Pro镜像,实现边缘端低功耗3D人脸重建。基于Jetson Orin Nano硬件,该方案支持从单张人像照片快速生成高精度OBJ+UV贴图模型,典型应用于智能门禁活体检测、AR试妆终端及教育类3D头像批量生成等场景。

weixin_42437253的博客 360

数字频率计设计中的常见误区:从VHDL代码到硬件实现的避坑指南

本文深入探讨了数字频率计从VHDL代码到FPGA硬件实现过程中的关键误区与解决方案。重点分析了闸门时间生成的精度与资源平衡、控制时序设计中的竞争冒险规避,以及如何利用EDA工具进行综合、时序约束与调试,确保设计稳定可靠。文章为开发者提供了从仿真成功到硬件可用的实战避坑指南。

spark7igniter的博客 207

Ubuntu20.04下SRS流媒体服务器的安装与开机自启动优化指南

本文详细介绍了在Ubuntu20.04系统下安装SRS流媒体服务器并优化开机自启动的完整指南。从基础环境准备、服务管理方案对比到systemd自启动深度优化,提供了实用的配置技巧和排查方法,帮助用户快速搭建稳定的流媒体服务环境。特别推荐使用systemd方案实现高效的自启动管理。

weixin_29313239的博客 407

Jetson Orin Nano Super:边缘AI算力代际跃迁实战指南

边缘AI推理是嵌入式系统实现智能决策的核心能力,其性能取决于SoC架构、内存带宽与软件栈的深度协同。NVIDIA Jetson系列作为主流边缘AI开发平台,从Nano到Orin Nano Super并非简单升级,而是基于Ampere GPU架构、LPDDR5内存(25.6 GB/s)和PCIe Gen4接口的系统级重构。这种演进显著提升INT8算力(6 TOPS)、视频解码能力与模型部署稳定性,使YOLOv5、Qwen-1.5B等典型模型在工业质检、移动机器人SLAM等场景中实现毫秒级低延迟推理。本文聚焦J

weixin_33842304的博客 236

Mission Planner连接Autopilot保姆级教程:从USB到无线全搞定

本文提供Mission Planner连接Autopilot的全面指南,涵盖USB直连、无线数传、蓝牙适配等多种连接方案。详细讲解驱动安装、波特率匹配、性能优化等关键步骤,并分享多链路冗余配置与故障转移的高阶技巧,助你快速解决连接问题。

weixin_28455801的博客 374

VibeVoice Pro轻量级部署方案:Jetson AGX Orin边缘设备运行可行性验证

本文介绍了如何在星图GPU平台上自动化部署VibeVoice Pro:零延迟流式音频引擎镜像,实现边缘设备的实时语音合成。该方案验证了该镜像在Jetson AGX Orin等边缘设备上运行的可行性,能够为智能机器人、车载语音助手等场景提供低延迟的实时语音交互能力。

weixin_35755562的博客 375

Unity序列帧动画输出全攻略:Recorder+Timeline实战与透明通道处理

序列帧动画是游戏开发、影视动画和UI动效中的基础技术,指将连续动作分解为一系列静态图像并按序播放,形成动态视觉效果。其原理是通过时间轴精确控制每一帧的内容与时机,实现动画的逐帧呈现。在实时渲染领域,序列帧输出技术价值显著,它能够将动态内容高质量地转换为静态图像序列,便于跨平台复用、后期合成与资源分发。应用场景广泛,包括角色动画导出、技能特效制作、宣传片素材生成等。本文聚焦Unity引擎,深入解析如何利用Recorder与Timeline工具链,高效输出带Alpha透明通道的PNG序列帧,并重点攻克透明通道处

weixin_31556767的博客 320

基于Django+Vue3的目标检测系统设计与实现,Web前后端分离,Vue3前台系统+Django后台管理系统开发,YOLOv11 Web目标检测,实现图片、视频和摄像头检测等功能,全网独发

基于Django+Vue3的智能目标检测系统设计与实现,Web前后端分离,YOLOv11 Web目标检测,Vue3前台系统+Django后台管理系统开发,实现图片检测、视频检测、摄像头检测、登录、注册和个人中心功能

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 3652

Jetson Nano真实部署指南:内存、TensorRT与JetPack工程避坑

嵌入式AI开发中,Jetson Nano并非玩具级开发板,而是需深度理解硬件约束的边缘计算平台。其核心在于共享内存架构、CUDA与TensorRT协同机制,以及JetPack系统版本带来的工具链兼容性问题。掌握LPDDR4内存分配策略、ONNX opset版本限制、FP16精度权衡及C++推理绕过Python GIL等关键技术,才能实现YOLOv5、ResNet等模型在产线级稳定部署。本文聚焦真实项目落地中的内存映射、TensorRT引擎构建与JetPack版本选型三大硬核环节,为边缘AI工程师提供可复用的

weixin_30824479的博客 368

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Jetson Orin Nano Super NVMe启动全栈调试指南

Jetson Orin Nano Super并非传统嵌入式开发板,而是一台基于ARM架构GPU的微型AI服务器,其启动本质是固件重映射与启动链重构。理解BootROM→CBoot→U-Boot→Kernel四级校验机制,是解决黑屏、串口无输出、NVMe无法识别等故障的前提。技术价值在于突破虚拟机USB透传限制、精准匹配NVMe协议兼容性(如Phison/Samsung固件版本)、构建符合GPT+ESP规范的启动分区,并手动干预flash.sh底层设备映射逻辑。典型应用场景包括ROS2导航部署、Carla仿真

weixin_34277853的博客 291

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

ONNX模型在ARM64加载失败的底层原因与修复

ONNX是一种跨平台、硬件无关的模型中间表示(IR),广泛用于边缘AI部署;其运行时(如ONNX Runtime)对内存布局有严格要求,尤其在ARM64等精简架构上需满足8字节对齐等ABI约束。当AI代码助手(如Claude Code)自动生成Python类型注解时,若输出Tuple等语义正确但内存不连续的结构,经NumPy桥接后易导致shape元数据失真,触发'Invalid shape descriptor'类错误。该问题本质是高层代码生成与底层运行时之间类型契约断裂,常见于树莓派5、Jetson Or

corg81763的博客 447

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Jetson Nano入门实战:从烧录到YOLOv5实时推理全链路

Jetson Nano是NVIDIA Jetson系列中专为边缘AI入门设计的64位ARM开发平台,依托CUDA和TensorRT生态,支持FP16加速与轻量级模型部署。其核心价值在于硬件简化(5V供电、裸露GPIO、固化驱动)与软件收敛(JetPack 4.6.4+Ubuntu 18.04),大幅降低AI推理工程门槛。技术原理上,它通过Maxwell架构GPU实现472 GFLOPS算力,在低功耗(5W~10W)下完成模型导出、ONNX优化、TensorRT引擎序列化及C++/Python推理闭环。典型应

weixin_33858485的博客 298

NVIDIA Jetson AGX Orin边缘AI部署全指南:从启动链到VLA落地

边缘AI是指在靠近数据源头的终端设备上直接执行感知、推理与决策的智能范式,其核心依赖于低功耗、高确定性、强实时性的异构计算平台。NVIDIA Jetson AGX Orin作为当前主流的嵌入式AI SoC,融合ARM CPU、Ampere GPU与专用DLA单元,通过L4T内核、JetPack SDK和TensorRT引擎构成软硬协同的技术栈,显著提升端侧模型推理效率与系统可靠性。该架构天然适配YOLOv8、Alpamayo等视觉语言模型(VLA)在辅助驾驶、工业质检、服务机器人等场景的落地需求,尤其在多摄

weixin_33875839的博客 277
上一篇: model.train与model.val 和 Batch Normalization的关系
下一篇: OSI七层模型、TCP/IP四层模型
shuttle6
博客等级 码龄8年 7089粉丝 8原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值