[阿里DIN]从论文源码学习 之 embedding_lookup 目录 [阿里DIN]从论文源码学习 之 embedding_lookup 0x00 摘要 0x01 DIN代码 1.1 Embedding概念 1.2 在DIN中的使用 1.3 问题 0x02 相关概念 2.1 one-hot编码 2.2 转换 2.3 Embedding层 2.3.1 意义 2.3.2 常规作用 2.3.3 如何生成 2.4 Embedding与深度学习推荐系统的结合 2.4.1 重要性 2.4.2 预训练方法…
[阿里DIN] 从论文源码学习 之 embedding层如何自动更新 目录 [阿里DIN] 从论文源码学习 之 embedding层如何自动更新 0x00 摘要 0x01 DIN源码 1.1 问题 1.2 答案 0x02 原理 2.1 随机梯度下降SGD 2.2 反向传播 2.3 自动求导 0x03 优化器 3.1 Optimizer基类 3.2 反向传播过程 3.2.1 compute_gradients 3.2.2 gradients 3.2.3 apply_gradients 3.3 Ad…
[阿里DIN] 从模型源码梳理TensorFlow的乘法相关概念 目录 [阿里DIN] 从模型源码梳理TensorFlow的乘法相关概念 0x00 摘要 0x01 矩阵乘积 1.1 matmul product(一般矩阵乘积) 1.2 Hadamard product(哈达玛积) 1.3 tf.matmul 1.4 tf.multiply 1.5 重载 1.6 DIN使用 0x02 多维矩阵相乘 2.1 TensorFlow实现 2.2 DIN使用 0x03 tile 3.1 tile函数 3.…
[阿里DIN]从模型源码梳理TensorFlow的形状相关操作 目录 [阿里DIN]从模型源码梳理TensorFlow的形状相关操作 0x00 摘要 0x01 reduce_sum 1.1 reduce_sum函数 1.2 维度和轴 1.3 例子 1.4 DIN使用 0x02 reshape 2.1 reshape函数 2.2 DIN使用 0x03 expand_dims 3.1 expand_dims函数 3.1.1 例1 3.1.2 例2 3.2 DIN使用 0xFF 参考 0x00 摘要…
[源码解析] 深度学习分布式训练框架 horovod (18) --- kubeflow tf-operator 目录 [源码解析] 深度学习分布式训练框架 horovod (18) --- kubeflow tf-operator 0x00 摘要 0x01 背景知识 1.1 Kubernetes 1.2 容器作为调度单元 1.3 Kubeflow 1.4 Tensorflow on Kubeflow 1.5 Operator 1.6 TF-Operator 0x02 TensorFlow 分布…
[源码解析] 深度学习分布式训练框架 horovod (19) --- kubeflow MPI-operator 目录 [源码解析] 深度学习分布式训练框架 horovod (19) --- kubeflow MPI-operator 0x00 摘要 0x01 背景知识 1.1 MPI 1.2 Open-MPI 1.3 MPI Operator 0x02 设计思路 2.1 架构图 2.2 角色 2.3 主要过程 2.4 CRD 的定义 2.5 创建 2.6 终止 0x03 实现 3.1 K8S…
[源码解析] 深度学习分布式训练框架 horovod (2) --- 从使用者角度切入 目录 [源码解析] 深度学习分布式训练框架 horovod (2) --- 从使用者角度切入 0x00 摘要 0x01 Horovod 简介 0x02 Hovorod 机制概述 2.1 Horovod 机制 0x03 示例代码 3.1 摘要代码 3.2 horovodrun 0x04 运行逻辑 4.1 引入python文件 4.2 初始化 in python 4.2.1 引入SO库 4.2.1.1 SO库 4…
[源码解析] 深度学习分布式训练框架 horovod (7) --- DistributedOptimizer 目录 [源码解析] 深度学习分布式训练框架 horovod (7) --- DistributedOptimizer 0x00 摘要 0x01 背景概念 1.1 深度学习框架 1.2 Tensorflow Optimizer 0x02 总体架构 2.1 总体思路 3.2 总体调用关系 0x04 TensorFlow 1.x 4.1 _DistributedOptimizer 4.2 c…
[源码解析] 深度学习分布式训练框架 horovod (14) --- 弹性训练发现节点 & State 目录 [源码解析] 深度学习分布式训练框架 horovod (14) --- 弹性训练发现节点 & State 0x00 摘要 0x01 设计点 0x02 发现机制 2.1 发现脚本 2.2 HostManager 2.2.1 order_available_hosts 2.3 配置 0x03 如何调用 3.1 无限循环线程 3.1.1 定时探寻 3.1.2 通知变化 3.2 如何通知…
[源码解析] 深度学习流水线并行Gpipe(1)---流水线基本实现 目录 [源码解析] 深度学习流水线并行Gpipe(1)---流水线基本实现 0x00 摘要 0x01 概述 1.1 什么是GPipe 1.2 挑战 0x02 并行机制 2.1 机制分类与权衡 2.1.1 数据并行 2.1.2 模型并行 2.1.3 流水线并行 2.2 如何使用 0x03 Pytorch 手动指定并行方式 3.1 基础知识 3.2 特点 3.3 基本用法 3.4 将模型并行化应用于现有模块 3.5 通过流水线输入…