深度学习框架 TensorFlow

阅读数:63 评论数:0

跳转到新版页面

分类

AI

正文

一、概述

现在流行的深度学习框架有很:Caffe、Pytorch、TensorFlow、MXNet、PaddlePaddle。

Caffe 网络结构都是以配置文件的形式定义,学习文档较少
Pytorch python优先的深度学习框架
TensorFlow 底层采用C++语言开发设计 
MXNet 学习社区较小
PaddlePaddle 文档较少

二、TensorFlow

TensorFlow是Google开源的一款端到端的机器学习平台,Tensor(张量)和Flow(流)代表着其运行原理是张量基于数据流图从图的一端流动到另一端。

1、Tensor 张量

张量是TensorFlow里面核心的数据单位,它本质是一个任意维度的数组,用来表示诸如标量、向量、多维矩阵等不同的属性,所有的张量都是标量以及向量的泛化。

算法的本质都是各种基本操作的组合。

张量由阶、数据类型以及形状三个参数构成:

(1)阶

阶代表张量具有的维度个数。

(2)形状

形状是一个整数元组,表示每个维度的长度。

(3)数据类型

DT-Float 32位浮点数
DT-Double 64位浮点数
DT-Int64 64位整数
DT-Int32 32位整数
DT-Int8 8位整数
DT-UInt8 8位无符号位整数
DT-String 字符串
DT-Bool 布尔类型

2、运算单元 op/operation

运算单元表示某种抽象计算,使用输入的张量执行特定的运算,运算单元在执行完特定的计算操作后会返回0或多个张量用来供其它的op使用。

常规数据运算 Add、Sub、Mul、Div、Less、Equal、Log
控制流操作 Merge、Leave、Enter、Switch、NextIteration
矩阵操作 MatrixInverse、MatMul
有状态的操作 Assign、Varaible
数组操作 Concat、Split、Slice、Shape、Rank
神经网络相关操作 MaxPool、Softmax、Relu
队列和同步操作 Enqueue、Dequeue、MutexRelease

(1)神经网络运算单元

操作主要包括激活函数、卷积函数、池化函数、分类函数。

激活函数用于将非线性因素引入神经网络中,可以帮助神经网络在训练过程中能够逼近任何非线性函数。

卷积函数常用于提出特征。

3、计算图Graph

计算图(又称数据流图)被定义为有向无环图,它是TensorFlow运行时系统内部创建的图形。运算符是图中的节点,张量是计算图中边上流动的数据。

开发人员可以通过编程定义任何指定的数学模型,然后TensorFlow框架会自动将该模型转换为数据流图。




相关推荐