《TensorFlow实战》读书笔记

1 TensorFlow基础

---1.1TensorFlow概要

  • TensorFlow使用数据流图进行计算,一次编写,各处运行.

---1.2 TensorFlow编程模型简介

  •  TensorFlow中的计算是一个有向图,每一个运算操作都是一个节点.每一个节点可以有任意多个输入和输出,在计算图的边中流动(flow)的数据被称为张量(tensor).
  • 一个运算操作代表了一种类型的抽象运算,运算操作的所有属性必须被预先设置,或者能在创建计算图时被推断出来.
  • Variable为变量,在创建时赋值,它可以将tensor储存在内存或显存中.placeholder为形参,可以在计算图中赋值.

  • Session交互接口,通过Run方法可以执行计算图,TensorFlow会自动寻找所有需要计算的节点并按依赖顺序执行它们.
  • TensorFlow可以根据链式法则自行计算梯度,从而实现反向传播.
  • 在使用高阶语言的控制流时,它们会被自动编译为TensorFlow的原生控制流.

2 TensorFlow和其他深度学习框架的对比(略)

---2.1 主流深度学习框架对比

---2.2 各深度学习框架简介

3 TensorFlow第一步

---3.1 TensorFlow的编译及安装(略)

---3.2 TensorFlow实现Softmax Regression识别手写数字

  • 从TensorFlow自动导入MNIST数据集失败的话可以手动下载.
  • 多分类任务最后一层通常使用Softmax,用于计算某个类的概率分布.而损失函数则选用交叉熵.
  • TensorFlow算法设计的核心步骤是:
  1. 定义算法公式,也就是前向计算
  2. 定义loss,选定优化器,并且指定优化器优化loss
  3. 迭代地对数据进行训练
  4. 在测试集或验证集上对准确率进行评测

4 TensorFlow实现自编码器及多层感知机

---4.1 自编码器简介

  • 使用少量的基本特征组合可以得到更高层抽象的特征,所以需要多层神经网络.
  • 自编码器就是用自身的稀疏的高阶特征编码自己,输入节点和输出节点是一致的,因此需要加入几种限制以防单纯地复制:
  1. 减少中间隐含层节点的数量,并使用L1正则化控制稀疏程度
  2. 给数据加入噪声(如高斯噪声).
  • 通过自编码器和监督学习的结合,可以解决梯度弥散问题,训练深层网络.

---4.2 TensorFlow实现自编码器

猜你喜欢

转载自www.cnblogs.com/limitlessun/p/9664939.html