斯坦福大学cs20——Welcome to Tensorflow!

Welcome to Tensorflow

“使用数据流程图进行数值计算的开放源码软件库”

一些使用TensorFlow的网络

WaveNet
Drawing

Goals
  1. 理解TF的计算图方法
  2. 探索TF的内置函数和类
  3. 学会如何去构建适合一个深度学习项目的模型
Resources

官方文件
官方样例模型

Books
  1. Aurélien Géron’s Hands-On Machine Learning with Scikit-Learn and TensorFlow (O’Reilly, March 2017)
  2. François Chollet’s Deep Learning with Python (Manning Publications, November 2017)
  3. Nishant Shukla’s Machine Learning with TensorFlow (Manning Publications, January 2018)
  4. Lieder et al.’s Learning TensorFlow A Guide to Building Deep Learning Systems (O’Reilly, August 2017)
Graphs and Sessions
Data Flow Graphs
  1. TF将计算的定义和执行分离
  2. 步骤
    Phase1: assemble a graph
    Phase2: use a session to execute operation in the graph
    在这里插入图片描述
  3. What’s a tensor(张量)?
    An n-dimensional array
    0-d tensor: scalar (number)
    1-d tensor: vector
    2-d tensor: matrix
    and so on
  4. Nodes and Edges
    在这里插入图片描述
    在这里插入图片描述
    Nodes: 运算符、变量、常量
    Edges: tensors
    在这里插入图片描述
    在这里插入图片描述
  5. How to get the value of a?
    创建一个会话,将其分配给变量sess,以便稍后调用,在会话中,计算图表以获取a的值:
    在这里插入图片描述
    我们一般用一下这种写法:
    在这里插入图片描述
tf.Session()
  1. 会话对象封装了执行操作对象和计算张量对象的环境。
  2. Session还将分配内存来存储变量的当前值。
More graph

在这里插入图片描述在这里插入图片描述

Subgraph

在这里插入图片描述
在这里插入图片描述
由于计算pow_op并不需要useless,所以session并不会计算、存储useless。
在这里插入图片描述
Session只会计算与fetches相关的部分。

parallel

可以将图形分割成几个块,并在多个cpu、gpu、TPUs或其他设备上并行运行它们(Example: AlexNet):
在这里插入图片描述

Distributed Computation

在这里插入图片描述

多个图?
  1. 多个图需要多个会话,默认情况下,每个图都会尝试使用所有可用资源
  2. 如果不通过python/numpy传递数据,就不能在它们之间传递数据,而python/numpy在分布式环境中不起作用
  3. 最好在一个图中有断开连接的子图
tf.Graph()

在这里插入图片描述
在这里插入图片描述
tensorflow不会混合默认graph和用户自己创建的graph
在这里插入图片描述
上面这种做法容易出错,这样更好:
在这里插入图片描述
但是真的没有必要多个图!!!

为什么选择graph
  1. 节省计算。只运行指向要获取的值的子图。
  2. 许多常见的机器学习模型,如神经网络,已经被普遍地教授并被可视化为有向图,这使得它们的实现对机器学习实践者来说更加自然。
  3. 通过将计算分解成容易微分的小块,TF能够自动计算任意节点(或“操作”,它们在TensorFlow中被称为)相对于任何可能影响第一个节点输出的其他节点的导数。能够计算节点的导数/梯度,特别是输出节点,对于建立机器学习模型是至关重要的。
  4. 将计算分开,可以更容易地在多个cpu、gpu和其他计算设备之间分配工作。简单地将整个较大的图形分割成几个较小的图形,并将图形的每个部分分配给每个设备(使用逻辑协调跨设备共享信息)

作者:其实是个驴
参考:cs20课件

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值