【阅读笔记】《TensorFlow 实战》黄文坚 唐源著

Chp 1 TensorFlow 基础

  • TensorFlow 来由:在计算图的边中流动(flow)的数据被称为Tensor
  • Client通过session的接口与master及多个worker相连,master负责指导所有worker按流程执行计算图,而每个worker可以与多个设备相连;
  • TemsorFlow有单机版和分布式版两种实现
  • 不同设备间的数据通信通过设置发送节点和接收节点实现
  • 容器(container)是TensorFlow中一种特殊的管理长期变量的机制,如Variable就保存在容器中,每一个进程会有一个默认的容器一直存在直至进程结束,使用容器甚至可以允许不同的计算图的不同session之间共享一些状态值
  • 支持的几种高度优化的第三方计算库: 线性代数计算库:Eigen 矩阵乘法计算库:BLAS、cuBLAS(CUDA BLAS)
  • 加速训练的三种并行方式:数据并行、模型并行、流水线并行

Chp 2 TensorFlow和其他深度学习框架的对比

  • TensorFlow
    其数据流式图支持非常自由的算法表达,可以很轻松的实现除深度学习以外的机器学习方法,只要可以将计算表示成计算图的形式
    灵活的移植性
    极快的编译速度
    功能强大的可视化组件TensorBoard
    缺点:计算图必须构建为静态图
  • Caffe
    容易上手
    训练速度快
    组件模块化,可以方便的拓展到新的模型和学习任务上
    第一个主流的工业级深度学习框架
  • 其他待读

Chp 3 TensorFlow 第一步

  • Softmax regression 工作原理:将可以判定为某类的特征相加,然后将这些特征转化为判定是这一类的概率

  • bias 反映的是数据本身的一些倾向,例如在MNIST数据集中,如果大部分数字都是0,那么0的特征对应的bias就会较大

  • 使用TensorFlow进行算法设计、训练的四大核心步骤
    1、 定义算法公式,也就是神经网络forward时的计算
    2、 定义loss,选定优化器,并指定优化器优化的loss
    3、 迭代地对数据进行训练
    4、 在测试集或验证集上对准确率进行评测

搭建网络的大体步骤如下:

  1. 读入数据集
  2. 创建InteractiveSession-将当前session注册为默认session
  3. 创建placeholder-存放输入数据,第一个参数是数据类型,第二个参数是输入Tensor的shape
  4. 创建Variable对象-存储模型参数,因为其是持久化的,可以长期存在并在每轮迭代中被更新;对简单模型而言,模型参数的初始化不太重要,因为模型训练时会自动学习合适的值,但是对复杂的卷积网络、循环网络或较深的全连接网络而言,初始化的方法十分重要
  5. 搭建网络框架,tf.nn中包含了大量神经网络组件
  6. 设置优化器,如:tf.train.GraientDescentOptimizer(0.5).minimize(cross_entropy)
  7. 调用Tensorflow的全局参数初始化器tf.global_variables_initializer().run()
  8. 迭代地执行train_step
  9. 评测
  • 计算图、数据流:定义Computational Graph时,执行到这些代码时计算并未发生,只有调用run方法并feed数据时才真正执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值