主讲人 | 何琨 英伟达 量子位编辑 | 公众号 QbitAI
3月12日,英伟达图像处理系列公开课第二期线上开播,跟数百位开发者同学共同探讨了如何利用TensorRT部署迁移式学习工具包构建的引擎。
应读者要求,将分享内容整理出来,与大家分享。直播中主要的live coding环节,还请大家观看文末的直播回放链接~
我每次分享都会给大家展示这张图。
它很好的诠释了深度学习的框架,从应用角度来说,视觉、语音识别、NLP、情感与推荐系统等是目前发展较快的领域。市面上有很多框架支持这些深度学习的应用,如Caffe、TensorFlow、PyTorch等,而支撑起这些框架的基础是强大的计算能力。
NVIDIA提供了大量的GPU、边缘设备等,为深度学习框架、推理训练提供了强大的支撑能力。在英伟达CUDA生态系统上,建立了cuDNN、TensorRT、DeepStream SDK、cuBLAS等一系列工具,都是中层的框架应用的基础的内容。
今天要介绍的两个工具是TensorRT和迁移式学习工具包(Transfer Learning Toolkit,简称TLT)。
迁移式学习工具包
TLT是一个基于Python的工具包,它提供了大量预先训练的模型,并提供一系列的工具,使流行的网络架构适应开发者自己的数据,并且能够训练、调整、修剪和导出模型,以进行部署。
相当于站在巨人的肩膀,大大提高深度学习工作流的效率和精度。
在TLT之后还有两个工具,一个是DeepStream,一个是TensorRT。TensorRT是DeepStream的一部分。
DeepStream是为AI视觉领域的应用和解决方案而设计的。涵盖了视频处理部署阶段的所有模块,它提供了完整的框架和所有基本构建模块。可以让开发者专注于自己的核心深度学习网络和IP,而不是从头开始设计端到端解决方案。
其中的Gstreamer可帮助大家处理视频中的编解码,TensorRT可处理数据推理等过程。
TLT、TensorRT、DeepStream这三个工具的应用,在计算机视觉领域形成一个完整的流水线,帮助大家处理从训练、推理、部署,到产品端的一系列工作。
TLT提供了很多训练好的模型,(上图)列举了30多种常用预训练模型,大家可以在NGC(https://www.nvidia.cn/gpu-cloud/)上下载。
然后通过TLT对其进行训练、剪枝、再训练等。输出后的模型可以直接进行部署,也可以部署在移动端或嵌入式产品上,比如自动驾驶汽车、无人机上。
TensorRT
TensorRT的本质是GPU推理引擎,是英伟达GPU深度学习模型推理加速的工具。目前已经发展到第7个版本,支持超过20个新的ONNX操作,适用性很广。
TensorRT的工作模式是,先输入训练好的模型和网络结构,TensorRT会优化网络计算模式,生成一个中间文件(代码环节中将详细展示),直接生成可执行引擎,从而实现加速。
大家如果对TensorRT的原理、逻辑感兴趣,可以在优酷上搜索更多视频(英伟达频道链接:https://acz.youku.com/wow/ykpage/act/miniappshare?uid=UMTA3MjYwNA==&sharekey=851467b71094c1d6c612d7bcaef255455)。
接下来何琨老师详解了TensorRT的实际操作。受限于文字描述,我们将操作流程、代码、PPT等上传至网盘,正在学习的小伙伴可以直接下载查看:
提取链接: https://pan.baidu.com/s/1HJYTwIMIOBcuvRl1wKHOTA,提取码: p7wx
本期课程直播回放:https://info.nvidia.com/291730-ondemand.html
第一期课程直播回放:https://info.nvidia.com/272903-ondemand.html
— 完 —