AiTechYun
编辑:chux
今天在计算机视觉和模式识别(CVPR)会议上,NVIDIA公开了一系列新动向。
NVIDIA DALI和NVIDIA nvJPEG
首先是提供了用于数据增强和图像解码的新库。
- NVIDIA DALI:GPU加速数据增强和图像加载库,用于优化深度学习框架的数据管道
- NVIDIA nvJPEG:用于JPEG解码的高性能GPU加速库
由深度学习支持的计算机视觉应用包括复杂的多阶段预处理数据流水线,其中包括计算密集型步骤,如从磁盘加载和提取数据,解码,裁剪和调整大小,颜色和空间变换以及格式转换。
通过使用GPU加速数据增强,NVIDIA DALI解决了当今计算机视觉深度学习应用中的性能瓶颈问题,其中包括复杂的多阶段数据增强步骤。借助DALI,深度学习研究人员可以通过MXNet,TensorFlow和PyTorch跨越亚马逊Web服务P3 8 GPU实例或带Volta GPU的DGX-1系统,在图像分类模型(如ResNet-50)上调整训练性能。由于跨框架的一致的高性能数据加载和增强,框架用户将会减少代码重复。
DALI依靠新的NVIDIA nvJPEG库进行高性能GPU加速解码。nvJPEG支持使用CPU和GPU对单个和批量图像进行解码,色彩空间转换,多阶段解码以及混合解码。与纯CPU解码相比,依赖nvJPEG进行解码的应用,达到更高的吞吐量和更低的延迟JPEG解码。
DALI的优势包括:
- 简单的框架与MxNet,TensorFlow和PyTorch的直接插件集成
- 具有多种支持的数据格式(如JPEG,原始格式,LMDB,RecordIO和TFRecord)的便携式训练工作流程
- 使用可配置图形和自定义运算符定制数据管道
- 使用nvJPEG的高性能单一和批量JPEG解码
nvJPEG的优势包括:
- 使用CPU和GPU进行混合解码
- 单一图像和批量图像解码
- 色彩空间转换为RGB,BGR,RGBI,BGRI和YUV
- 单相和多相解码
DALI是开源的,现在可在GitHub上使用。
Apex
NVIDIA也展示了Apex的初期版本,这是一款开源的PyTorch扩展,可帮助用户最大限度地提高NVIDIA Volta GPU上的深度学习训练性能。
灵感来源于翻译网络,情感分析和图像分类方面的最新技术,NVIDIA PyTorch开发人员已经创建了将这些方法带到各级PyTorch用户的工具。Apex中的混合精密实用程序旨在提高训练速度,同时保持单精度训练的准确性和稳定性。具体而言,Apex提供FP16或FP32操作的自动执行,主参数转换的自动处理以及自动损失调整。
TensorRT 4
TensorRT 4,具有加速流行推理应用的功能,如神经机器翻译,推荐系统和语音。你还可以通过ONNX格式轻松地从流行的深度学习框架(如Caffe 2,Chainer,MxNet,Microsoft Cognitive Toolkit和PyTorch)导入模型。