当前位置:   article > 正文

深度学习之 4 深度学习框架

深度学习框架

本文是接着上一篇深度学习之 3 线性模型_水w的博客-CSDN博客

目录

深度学习框架

一、核心组件

核心组件-张量

核心组件-基于张量的操作

核心组件-计算图

核心组件-自动微分工具

核心组件-BLAS、cuBLAS、cuDNN等拓展包

二、主流框架

Caffe 

Theano

MXNet

TensorFlow

Keras

Torch & PyTorch

OneFlow

 总结:

三、Tensorflow与PyTorch比较分析

四、PyTorch入门

PyTorch入门-安装

PyTorch入门-Tensor

PyTorch入门-自动求导


深度学习框架

深度学习框架是一种 接口 工具 ,利用 预先构建和优化好的组件 集合定义模型。
  • 一个良好的深度学习框架应具备的关键特性:
        ✓ 性能优化
        ✓ 易于理解和编码
        ✓ 良好的社区支持
        ✓ 并行处理以减少计算
        ✓ 自动计算梯度
  • 框架核心组件:
        ◼ 张量
        ◼ 基于张量的操作
        ◼ 计算图
        ◼ 自动微分工具
        ◼ BLAS、cuBLAS、cuDNN等拓展包

一、核心组件

  • 框架核心组件:
        ◼ 张量
        ◼ 基于张量的操作
        ◼ 计算图
        ◼ 自动微分工具
        ◼ BLAS、cuBLAS、cuDNN等拓展包

核心组件-张量

张量是深度学习框架中最核心的组件,Tensor实际上就是一个多维数组

Tensor对象具有3个属性:

        • rank number of dimensions
        • shape: number of rows and columns
        • type: data type of tensor's elements

 

 核心组件-基于张量的操作

张量的相关操作:
类型转换 :字符串转为数字、转为64(32)位浮点类型(整型)等。
数值操作 :按指定类型与形状生成张量、正态(均匀)分布随机数、设置随机数种子。
形状变换: 将数据的shape按照指定形状变化、插入维度、将指定维度去掉等。
数据操作: 切片操作、连接操作等。
算术操作 :求和、减法、取模、三角函数等。
矩阵相关的操作: 返回给定对角值的对角tensor、对输入进行反转、矩阵相乘、求行列式…

核心组件-计算图

计算图结构
        • 用不同的 占位符 (*,+,sin )构成操作结点,以字母 x a b 构成变量结点。
        • 用有向线段将这些结点连接起来,组成一个表征运算 逻辑关系 的清晰明了的“图”型数据结构

 核心组件-自动微分工具

计算图带来的一个好处是让模型训练阶段的梯度计算变得 模块化 且更为 便捷 ,也就是 自动微分法
自动微分Forward Mode:给定函数
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/390040
推荐阅读
相关标签