引言 之前一段时间在参与语义分割的项目,最近有时间了,正好把这段时间的所学总结一下. 在代码上,语义分割的框架会比目标检测简单很多,但其中也涉及了很多细节.在这篇文章中,我以PSPNet为例,解读一下语义分割框架的代码.搞清楚一个框架后,再看别人的框架都是大同小异. 工程来自https://github.com/speedinghzl/pytorch-segmentation-toolbox 框架中一个非常重要的部分是evaluate.py,即测试阶段.但由于篇幅较长,我将另开一篇来阐述测试过程…
引言 本文接着上一篇语义分割丨PSPNet源码解析「网络训练」,继续介绍语义分割的测试阶段. 模型训练完成后,以什么样的策略来进行测试也非常重要. 一般来说模型测试分为单尺度single scale和多尺度multi scale,多尺度的结果一般比单尺度高.除此之外,其他细节比如是将整幅图送进网络,还是采用滑动窗口sliding window 每次取图的一部分送进网络这些也会影响测试结果.下面将基于代码进行阐述. 完整代码见:https://github.com/speedinghzl/pyto…
[源码解析] 分布式训练Megatron (1) --- 论文 & 基础 目录 [源码解析] 分布式训练Megatron (1) --- 论文 & 基础 0x00 摘要 0x01 Introduction 1.1 问题 1.2 数据并行 1.3 模型并行 1.3.1 通信 1.3.2 张量并行 1.3.3 流水线并行 1.4 技术组合 1.5 指导原则 0x02 张量模型并行(Tensor Model Parallelism) 2.1 原理 2.1.1 行并行(Row Parallelis…
[源码解析] 深度学习分布式训练框架 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.…
[源码解析] PyTorch分布式优化器(3)---- 模型并行 目录 [源码解析] PyTorch分布式优化器(3)---- 模型并行 0x00 摘要 0x01 前文回顾 0x02 单机模型 2.1 基本用法 2.2 将模型并行应用到现有模块 2.3 问题与方案 2.3.1 目前状况 2.3.2 解决方案 2.4 通过流水线输入加速 0x03 分布式问题和方案 3.1 思路 3.2 PyTorch 的思路 3.2.1 四大天王 3.2.2 逻辑关系 0x04 PyTorch 分布式优化器 4.…
[源码解析] 模型并行分布式训练 Megatron (3) ---模型并行实现 目录 [源码解析] 模型并行分布式训练 Megatron (3) ---模型并行实现 0x00 摘要 0x01 并行Transformer层 1.1 初始化 1.2 前向传播 0x02 并行MLP 2.1 命名规范 2.2 MLP 代码 2.2.1 初始化 2.2.2 前向操作 0x03 ColumnParallelLinear 3.1 定义 3.2 初始化 3.2.1 切分size 3.2.2 初始化权重 3.3…
[源码解析] 模型并行分布式训练Megatron (5) --Pipedream Flush 目录 [源码解析] 模型并行分布式训练Megatron (5) --Pipedream Flush 0x00 摘要 0x01 背景 0x02 论文 2.1 引论 2.2 背景 2.3 流水线权重问题 2.3.1 问题1 2.3.2 问题2 2.3.3 问题3 2.4 PipeDream-2BW 系统设计 2.4.1 GPipe 2.4.2 Double-Buffered Weight Updates (…
[源码解析] NVIDIA HugeCTR,GPU版本参数服务器--- (5) 嵌入式hash表 目录 [源码解析] NVIDIA HugeCTR,GPU版本参数服务器--- (5) 嵌入式hash表 0x00 摘要 0x01 前文回顾 0x02 Embedding 2.1 概念 2.1.1 One-hot 编码 2.1.2 分布式表示 2.1.3 推荐领域 2.2 Lookup 2.3 嵌入层 2.3.1 点积 2.3.2 全连接层 2.3.3 元数据信息 2.3.4 经典架构 2.3.4.1…
[源码解析] TensorFlow 分布式 DistributedStrategy 之基础篇 目录 [源码解析] TensorFlow 分布式 DistributedStrategy 之基础篇 1. StrategyBase 1.1 初始化 1.2 使用 1.3 CTL 1.4 Scope 1.4.1 使用 1.4.2 功能 1.4.3 Scope 范围 1.5 StrategyExtendedV2 1.5.1 locality 1.5.2 如何更新 1.6 继承关系 2. 读取数据 2.1 直…
Volley 源码解析 本文为 Android 开源项目源码解析 中 Volley 部分项目地址:Volley,分析的版本:35ce778,Demo 地址:Volley Demo分析者:grumoon,校对者:huxian99.Trinea,校对状态:完成 1. 功能介绍 1.1. Volley Volley 是 Google 推出的 Android 异步网络请求框架和图片加载框架.在 Google I/O 2013 大会上发布. 名字由来:a burst or emission of many…