简介 最近有了突如其来的想法,如何把caffe的变得更小更快.后来翻到Nvidia开发caffe-float16,同时也看到它的论文.看完大致了解一番后,就做一下记录. 该工作的目标是,减少网络的所需的内存大小和提升网络的 inference(推理)速度.nvidia通过才用自己开发的 float16 半精度 cuda_fp16.h 数据类型,在forward和backward propagation中代替 float 32 bits的单精度数据类型.因此,在降低网络的数据的 precision…
[源码解析] 深度学习分布式训练框架 horovod (5) --- 融合框架 目录 [源码解析] 深度学习分布式训练框架 horovod (5) --- 融合框架 0x00 摘要 0x01 架构图 0x02 统一层 0x03 Horovod OP 类体系 3.1 基类 HorovodOp 3.2 派生类 AllreduceOp 3.3 适配类 MPIAllreduce 3.4 后台线程如何使用 3.4.1 具体collective 操作 3.4.2 调用不同类型的OP 3.4.3 取一个适配层…
[源码解析] 深度学习分布式训练框架 horovod (6) --- 后台线程架构 目录 [源码解析] 深度学习分布式训练框架 horovod (6) --- 后台线程架构 0x00 摘要 0x01 引子 0x02 设计要点 2.1 问题 2.2 方案 2.3 协调 2.3.1 设计 2.3.2 实现 2.4 Background Thread 2.4.1 设计 2.4.2 实现 0x03 辅助功能 3.1 如何判断是 coordinator 3.2 协调缓存&信息 3.2.1 计算共有 ten…
​  前言  本文介绍了如何使用 PyTorch Lightning 构建高效且快速的深度学习管道,主要包括有为什么优化深度学习管道很重要.使用 PyTorch Lightning 加快实验周期的六种方法.以及实验总结. 当 Alex Krizhevsky.Ilya Sutskever 和 Geoffrey Hinton 在 2012 年设计 AlexNet 时,训练 6000 万参数模型需要五到六天的时间.八年后的 2020 年,微软 DeepSpeed 团队在不到 44 分钟的时间内成功训练…
以下内容摘自<Bag of Tricks for Image Classification with Convolutional Neural Networks>. 1 高效训练 1.1 大batch训练 当我们有一定资源后,当然希望能充分利用起来,所以通常会增加batch size来达到加速训练的效果.但是,有不少实验结果表明增大batch size可能降低收敛率,所以为了解决这一问题有人以下方法可供选择: 1.1.1 线性增加学习率 一句话概括就是batch size增加多少倍,学习率也增…
AMP:Automatic mixed precision,自动混合精度,可以在神经网络推理过程中,针对不同的层,采用不同的数据精度进行计算,从而实现节省显存和加快速度的目的. 在Pytorch 1.5版本及以前,通过NVIDIA出品的插件apex,可以实现amp功能. 从Pytorch 1.6版本以后,Pytorch将amp的功能吸收入官方库,位于torch.cuda.amp模块下. 本文为针对官方文档主要内容的简要翻译和自己的理解. 1. Introduction torch.cuda.am…
[源码解析] 深度学习分布式训练框架 Horovod --- (1) 基础知识 目录 [源码解析] 深度学习分布式训练框架 Horovod --- (1) 基础知识 0x00 摘要 0x01 分布式并行训练 1.1 分布式并行训练的必要 1.2 分布式训练 1.3 训练并行机制 1.3.1 三种机制 1.3.2 如何使用 1.4 数据并行训练 0x02 通信 & 架构 2.1 方法和架构 2.2 异步 vs 同步 0x03 具体架构 3.1 MapReduce 3.2 参数服务器 (PS) 3.…
用NVIDIA A100 GPUs提高计算机视觉 Improving Computer Vision with NVIDIA A100 GPUs 在2020年英伟达GPU技术会议的主题演讲中,英伟达创始人兼首席执行官黄延森介绍了基于英伟达安培GPU架构的新英伟达A100 GPU. 在这篇文章中,我们详细介绍了A100的令人兴奋的新特性,这些特性使NVIDIA GPU成为计算机视觉工作负载的一个更好的动力.我们还展示了NVIDIA最近的两个CV研究项目:语义分割的层次多尺度注意和Bi3D:通过二元…
基于OpenSeq2Seq的NLP与语音识别混合精度训练 Mixed Precision Training for NLP and Speech Recognition with OpenSeq2Seq 迄今为止,神经网络的成功建立在更大的数据集.更好的理论模型和缩短的训练时间上.特别是顺序模型,可以从中受益更多.为此,我们创建了OpenSeq2Seq--一个开源的.基于TensorFlow的工具包.OpenSeq2Seq支持一系列现成的模型,其特点是多GPU和混合精度训练,与其他开源框架相比,…
用NVIDIA Tensor Cores和TensorFlow 2加速医学图像分割 Accelerating Medical Image Segmentation with NVIDIA Tensor Cores and TensorFlow 2 医学图像分割是当前学术界研究的热点.这方面正在进行的挑战.竞赛和研究项目的数量证明了这一点,这些项目的数量只是逐年上升.在解决这一问题的各种方法中,U-Net已经成为许多2D和3D分割任务的最佳解决方案的骨干.这是因为简单性.多功能性和有效性. 当实践…