安工-天池Docker训练营学习笔记

基于TensorRT作为高性能深度学习支持引擎预训练FCN网络

TensorRT作为高性能深度学习支持引擎,对于一般的深度学习项目,训练时为了加快速度,会使用多GPU分布式训练。但在部署推理时,为了降低成本,往往使用单个GPU机器甚至嵌入式平台(比如 NVIDIA Jetson)进行部署,部署端也要有与训练时相同的深度学习环境,如caffe,TensorFlow等。由于训练的网络模型可能会很大(比如,inception,resnet等),参数很多,而且部署端的机器性能存在差异,就会导致推理速度慢,延迟高。这对于那些高实时性的应用场合是致命的,比如自动驾驶要求实时目标检测,目标追踪等。
研究方法
我们通过下载FCN-Alexnet-Aerial-FPV-720P.tar.gz.利用Jetson系统连接的摄像头拍到实时的可供分割的图片,或选用etson-inference中自带的图片天空和草地达到精确的物体分割。通过TensorRT在Jetson NANO平台实现推理加速,TensorRT能够作为GPU推理引擎,直接将深度学习模型拿来加速。TensorRT通过精度调整,能够减少GPU的占用。增加GPU效率,使模型处理的更快。现如今网路越来越宽越来越深,TensorRT能够做到存储单元的选取。多流处理,内核调用以及网络层的调整。我们可以把一个训练好的模型给TensorRT生成一个plan,下次只需将数据给执行的推理引擎方可出结果。
但对于语义分割还不能做的很好,许多图片的边缘不能够处理的很好,尤其对于实时的语义分割,出现大量噪音,鲁棒性差。
研究的思路和方案,

1 下载无人机数据集:该数据集在第一人称视角(FPV)中模拟无人机的位置,并训练一个网络,作为一个自动驾驶仪,引导其感知的地形。要下载和
2. 解压缩数据集:请从运行DIGITS服务器的主机PC上运行命令。将航空数据集导入数字:在数据创建界面对内容设置您的变量在数据创建界面,按照要求设置您的变量

3.生成预训练FCN网络:我们接下来要利用DIGITS和TensorRT使用的网络模型。查看Parallel ForAll。DIGITS中包含了一个脚本,它将Alexnet模型转换为FCN-Alexnet。然后将该基础模型用作在自定义数据集上训练新的FCN-Alexnet分割模型的预先训练的基础

**4.数字训练FCN-net:**当之前的数据集导入成功后,返回到DIGITS的主页。选择Models里面右上角的New Model下面的Segmentation:在模型创建的页面,选择之前我们创建好的数据集。

**5. 数字测试推理模型 :**在把训练好的模型传到Jetson上前,我们可以再DIGITS里面测试一下,就像之前的一样,接下来,下载并解压训练好的模型到Jetson:选择并下载val_loss最小的模型(

**6. TensorRT的FCN Alexnet修补程序:**在FCN-Alexnet里面存在一些不太重要的网络层,而且TensorRT不支持它们,所以我们需要将这些网络层从deploy.prototxt在deploy.prototxt 的末尾处,删除deconv 和 crop层:还有,在deploy.prototxt的第24行将pad: 100 改成pad: 0。最后从航空数据集中复制fpv-labels.txt 和fpv-deploy-colors.txt 到你的Jetson中模型的文件夹。你的FCN-Alexnet模型就在TensorRT中配置完成了。这样,我们就可以在Jetson中运行一下试试了

**7. 在Jetson上运行细分模型:**可以运行下面的命令行程序来测试一下您的分割网络模型。首先,为了方便起见,最好把模型路径设置到$NET 变量中:这些命令将会运行repo中下载好的我们训练好的模型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值