
NVIDIA
文章平均质量分 73
Arnold-FY-Chen
On the way of AI spiritual practice...
展开
-
CUDA-PointPillars有时崩溃的原因
CUDA-PointPillars有时崩溃的原因原创 2022-12-24 20:13:16 · 573 阅读 · 0 评论 -
如何调用一个具有动态维度的tensorrt engine
调用具体动态维度的模型engine时如果没有指定维度,会导致报类似这样的错误:[TRT] Parameter check failed at: engine.cpp::resolveslots::1227, condition: allInputDimensionsSpecified(routine)在python代码里,在调用engine推理前做这样的设置即可:context.set_binding_shape(0, (BATCH, 3, INPUT_H, INPUT_W))在C++代码里原创 2022-02-18 20:19:31 · 10800 阅读 · 5 评论 -
如何解决TensorRT samples的BufferManager不支持有动态维度的engine的问题
TensorRT samples里common的代码是写得不错的用于简化调用TensorRT engine的套路的封装代码,使用这些封装类可以节省些代码,也使得代码更优雅点,但是里面有点问题,例如,有dynamic batch_size或者height/width维度的模型engine,在调用时会发生崩溃: terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc...原创 2022-02-17 20:08:56 · 3282 阅读 · 2 评论 -
什么是TAO以及如何安装和使用TAO
NVIDIA的TAO(Train, Adapt, Optimize)Toolkit以前叫TLT(Tranfer Learning Toolkit),即迁移学习工具,关于什么是迁移学习,网上资料大把,这里只说TAO,故不多说迁移学习。只要是干过模型的,看看NVIDIA官网上给出的这张关于TAO的架构图,也能大概明白了七八分:近来琢磨熟悉TAO的使用并写PPT给组内培训,所以对TAO的相关文档仔细过了一遍,也在不连贯的文档说明指导下琢磨了从TAO的环境安装到训练数据及预训练模型的准备和模型训练再到模型的原创 2022-01-28 22:53:52 · 10658 阅读 · 2 评论 -
基于TensorRT API实现模型网络时用到CUDA核函数时需要注意的一个问题
TensorRT提供了一些常用的基本API,例如2d和3d卷积、池化、上采样、反卷积(转置卷积)、ReLU和全连接等等,但是更新比较慢,对于新的算子和激活函数没有及时提供实现,至于类似不同输出层多种维度特征数据融合这些复杂一点的组合功能是不可能提供现成的API的,所以这些在自己基于TensorRT API实现某个比较新的模型的网络时是需要自己去实现的。对于这种需要自己定制的部分,TensorRT提供了Plugin机制,也就是提供了几个Plugin接口和超级类分别用于支持输入数据维度是静态的或者动态的,我原创 2022-01-09 00:18:42 · 1867 阅读 · 0 评论 -
NVIDIA vulkan driver的安装和Jetson平台上vulkan sdk的制作
vulkan是类似opengl这样的封装层,或者叫中间层,用于屏蔽不同类型GPU的差异,向上层应用程序提供统一的接口,用过Java SDK或者其他中间件做过开发的很好理解这个概念,所以vulkan也有自己的vulkan SDK,LunarXchange提供了Windows、Linux、Mac和Android等版本的SDK,不过Linux版的SDK只有X86版本的,所以Jetson这种arm64版的得自己下载源码编译: 对于GPU的支持vulkan的driver, NV...原创 2021-09-30 17:26:43 · 5302 阅读 · 0 评论 -
TensorRT 命令行程序trtexec常用用法
安装TensorRT后,进入到/usr/src/tensorrt/bin目录下,可以看到有个trtexec二进制可执行文件,执行 ./trtexec --help可以看到命令行支持的所有参数项:=== Model Options === --uff=<file> UFF model --onnx=<file> ONNX model --model=<file> Caffe原创 2021-08-15 18:07:31 · 15123 阅读 · 7 评论 -
Cudnn占用大量内存问题
近来在对一个3D图像识别模型做部署裁剪时发现,做了一些有效的裁剪后,模型启动后占用的内存虽然减少了两三百个M,但是再继续对网络做裁剪缺减少不明显了,包含封装调用这个模型的deepstream插件在内始终占用800多个M,感觉很奇怪,于是花了些时间,捣腾琢磨网络本身的C++实现代码,找出哪些代码执行后占用了可观的内存,最后发现,其他跟训练有关的可减的都减了也没见省多少内存,但是模型启动的过程中,当cudnn的API被第一次调用时,启动有卡顿,同时看着内存一路不停飙升,把相关网络层的代码注释掉试试,...原创 2020-09-30 22:29:08 · 1206 阅读 · 1 评论 -
Xavier NX上安装Deepstream导致NX不断的重启
使用安装SDK Manager后再使用JetPack安装板子的方式非常慢而且由于网络慢容易出错,所以直接使用SD Image烧写TF卡是最快的安装方式,将image写入TF卡后,启动板子可以看到Ubuntu18.04和和TensorRT等大部分工具软件已经打包在image内一起安装了,但是Deepstream却没有包含进去,这点很奇怪。 我们使用的SD Image是6月份从NVIDIA官网上下载的nv-jetson-nx-sd-card-image-r32.4.2,为何不下载使用最新...原创 2020-07-25 19:52:22 · 1170 阅读 · 7 评论 -
制作支持GPU的用于部署AI模型的ARM64版docker镜像
hub.docker.com上绝大部分镜像都是只能在X86平台上使用的,arm上的很少,arm64上的装有Ubuntu18.04的只找到个arm64v8/ubuntu:18.04镜像,pull下来后使用过,里面很多东西没安装,连基本的vim都没有安装,而且安装完一些支持包后使用nvidia-docker run 创建的容器里面GPU设备总是找不到,GPU测试通不过,虽然CUDA和cuD...原创 2020-04-12 21:05:13 · 3701 阅读 · 40 评论 -
配置NVIDIA Jetson AGX Xavier
首先调整一个Xavier的运行模式和风扇速度,Xavier加电时默认没有启动风扇,运行一段时间后会非常烫,长期这样可能容易坏,所以至少需要把风扇启动起来。Xavier的Ubuntu18.04桌面的右上方有菜单可以选择设置运行的功耗模式,也可以使用下面的nvpmodel命令来设置: sudo nvpmodel --query #查看当前的模式,默认为2, 功耗15W ...原创 2020-04-12 18:01:04 · 5698 阅读 · 3 评论 -
安装和使用NVIDIA Jetson AGX Xavier
对近几个月在Nvidia Jetson AGX Xavier上的工作做一下记录备忘,Xavier是NVIDIA的边缘计算板子的最新版本也是最高配的序列,NVIDIA Jetson序列板子的具体配置可参见下图: 因机器人上需要部署网络层次深体量大的高精度AI图像识别物体检测模型,一般的边缘计算板子扛不住,于是让公司购买了NVIDIA Jetson AGX...原创 2020-04-12 14:47:43 · 19756 阅读 · 40 评论 -
我的AI之路(40)--解决Ubuntu内核更新导致桌面启动出错登录界面无法显示的问题
最近服务器安装软件时被做了更新,Ubuntu16.04 LST的内核也被更新到了最新的GNU/Linux 4.4.0-171-generic x86_64,结果服务器重启后就出现这个以前经常见过的错误:The system is running in low-graphics mode 用之前的解决办法: 先检查确保/etc/modprob.d/下有blacklis...原创 2020-01-12 00:06:02 · 1872 阅读 · 0 评论 -
我的AI之路(33)--解决CUDA10.1和NVIDIA GPU新版驱动430.xx序列造成黑屏或循环登录问题
到目前为止,CUDA最新版仍然是10.1版,只是出了update2 https://developer.nvidia.com/cuda-downloads,自CUDA10.1开始,使用run文件安装过程中有了较大的变化,步骤进行了简化,也不再包含opengl文件所以无需--no-opengl-files参数,但是对于装有集成显卡+N卡的双显卡的环境,安装CUDA10.1有可能会造成问题。...原创 2019-10-03 01:58:22 · 2895 阅读 · 0 评论 -
启用NVIDIA GPU驱动后每次Linux内核更新后图形界面进不去的问题
Ubuntu的内核更新比较频繁,自动更新打开后,如果你disable掉了系统默认的nouveau驱动启用了NVIDIA GPU卡对应的驱动(具体步骤参见我的AI之路(10)--如何在Linux下安装CUDA和cuDNN),可能经常遇到内核更新后在机器重启后发现登录界面的字体和图标变得不正常地超大而且输入登录口令后屏幕一闪又回到了登录界面,这说明NVIDIA GPU的驱动没有被加载,系统...原创 2019-04-27 18:42:02 · 3906 阅读 · 0 评论