本文整理自知乎专栏深度炼丹,转载请征求原作者同意。

本文的全部代码都在原作者GitHub仓库github

CS20SI是Stanford大学开设的基于Tensorflow的深度学习研究课程。

什么是TensorFlow

  • 使用数据流图来做数值计算的开源软件
  • Google Brain团队开发

TensorFlow的优势

  • Python API
  • 能够使用多个CPU和GPU。很容易部署到服务器上和移动端
  • 足够灵活、非常底层
  • tensorboard可视化做的好
  • Checkpoints作为实验管理,随时保存模型
  • 庞大的社区

几个重要的概念

tensor

  • 0-d tensor: 标量
  • 1-d tensor: 向量
  • 2-d tensor: 矩阵

数据流图

import tensorflow as tf
a = tf.add(3,5)
print(a)
>> Tensor("Add: 0", shape=(), dtype=int32)

要得到8,需要开启session,在session中操作能够被执行,Tensor能够被计算。这与一般的推断式编程(如PyTorch)不同。

import tensorflow as tf
a = tf.add(3,5)
with tf.Session() as sess:
print(sess.run(a))
>> 8

Session().run调用的时候可以用[]来得到多个结果:

import tensorflow as tf
x = 2
y = 3
add_op = tf.add(x, y)
mul_op = tf.multiply(x, y)
useless = tf.multiply(x, add_op)
pow_op = tf.pow(add_op, mul_op)
with tf.Session() as sess:
z, not_useless = sess.run([pow_op, useless])

也可以将计算图的一部分放在特定的GPU或者CPU下

with tf.device('/gpu:2'):
a = tf.constant([[1.0,2.0,3.0],[4.0,5.0,6.0], name='a'])
b = tf.constant([[1.0,2.0],[3.0,4.0],[5.0,6.0]], name='b')
c = tf.matmul(a,b)
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
print(sess.run(c))

尽量不要使用多个计算图,因为每个计算图需要一个session,而每个session会使用所有的显卡资源,必须要用python/numpy才能在两个图之间传递数据,最好在一个图中建立两个不联通的子图

为什么使用Graph

  1. 节约计算资源,每次运算仅仅只需运行与结果相关的子图

  2. 可以将图分成小块进行自动微分

  3. 方便部署在多个设备上

CS20SI-tensorflow for research笔记: Lecture1的更多相关文章

  1. Google TensorFlow深度学习笔记

    Google Deep Learning Notes Google 深度学习笔记 由于谷歌机器学习教程更新太慢,所以一边学习Deep Learning教程,经常总结是个好习惯,笔记目录奉上. Gith ...

  2. TensorFlow.org教程笔记(二) DataSets 快速入门

    本文翻译自www.tensorflow.org的英文教程. tf.data 模块包含一组类,可以让你轻松加载数据,操作数据并将其输入到模型中.本文通过两个简单的例子来介绍这个API 从内存中的nump ...

  3. CS20SI-tensorflow for research笔记: Lecture3

    本文整理自知乎专栏深度炼丹,转载请征求原作者同意. 本文的全部代码都在原作者GitHub仓库github CS20SI是Stanford大学开设的基于Tensorflow的深度学习研究课程. Tens ...

  4. CS20SI-tensorflow for research笔记: Lecture2

    本文整理自知乎专栏深度炼丹,转载请征求原作者同意. 本文的全部代码都在原作者GitHub仓库github CS20SI是Stanford大学开设的基于Tensorflow的深度学习研究课程. Tens ...

  5. 『TensorFlow』读书笔记_Inception_V3_下

    极为庞大的网络结构,不过下一节的ResNet也不小 线性的组成,结构大体如下: 常规卷积部分->Inception模块组1->Inception模块组2->Inception模块组3 ...

  6. TensorFlow深度学习笔记 Tensorboard入门

    转载请注明作者:梦里风林 Github工程地址:https://github.com/ahangchen/GDLnotes 欢迎star,有问题可以到Issue区讨论 官方教程: https://ww ...

  7. TensorFlow深度学习笔记 循环神经网络实践

    转载请注明作者:梦里风林 Github工程地址:https://github.com/ahangchen/GDLnotes 欢迎star,有问题可以到Issue区讨论 官方教程地址 视频/字幕下载 加 ...

  8. TensorFlow 深度学习笔记 卷积神经网络

    Convolutional Networks 转载请注明作者:梦里风林 Github工程地址:https://github.com/ahangchen/GDLnotes 欢迎star,有问题可以到Is ...

  9. TensorFlow 深度学习笔记 TensorFlow实现与优化深度神经网络

    转载请注明作者:梦里风林 Github工程地址:https://github.com/ahangchen/GDLnotes 欢迎star,有问题可以到Issue区讨论 官方教程地址 视频/字幕下载 全 ...

随机推荐

  1. 主席树+树链剖分——南昌邀请赛Distance on the tree

    学了差不多一星期的主席树+树链剖分,再来看这题发现其实是个板子题 一开始想复杂了,以为要用类似求树上第k大的树上差分思想来解决这道题,但其实树链上<=k的元素个数其实直接可以用树链剖分来求 具体 ...

  2. python 集合去重

    data = set() data.clear() data.add('qq1') data.add('qq2') data.add('qq3') data.add('qq4') data.add(' ...

  3. php Excel 导入功能

    下载excel类地址 https://pan.baidu.com/s/19MqAHUn4RyZ5HEAChyC0jg  密码:mn58 本人用的thinkcmf框架 把类文件放在框架的类文件里面,下面 ...

  4. C#应用编程小例子-01-渐显的窗体

    C#应用编程小例子-01-渐显的窗体 using System; using System.Windows.Forms; namespace WindowsFormsApp2 { public par ...

  5. kettle的job定时任务的一个小问题

    思考,启动此job,做一个最简单,job实现表输入和表输出,但是实现表输入和表输出要花2个小时.那么这个job定时是如何执行的呢???第一种情况.job定时60分钟即1个小时.当job执行结束(即用了 ...

  6. 在SSL / https下托管SignalR

    https://weblog.west-wind.com/posts/2013/Sep/23/Hosting-SignalR-under-SSLhttps  2013年9月23日•来自毛伊岛,HI• ...

  7. Linux中jdk的安装配置

    1.下载jdk安装包 2.解压文件:tar -zxvf jdk-8u211-linux-x64.tar.gz 3.编辑环境变量:vi /etc/profile 4.在环境变量文末添加三行: expor ...

  8. Android进阶:七、Retrofit2.0原理解析之最简流程【下】

    紧接上文Android进阶:七.Retrofit2.0原理解析之最简流程[上] 一.请求参数整理 我们定义的接口已经被实现,但是我们还是不知道我们注解的请求方式,参数类型等是如何发起网络请求的呢? 这 ...

  9. TMS320DM642学习----第六篇(CCS中.dat文件类型详解)

    1.如下为.dat文件中文件头的基本格式: MagicNumber Format StartingAddress PageNum Length [NewFormat] 下面是分别的解释: MagicN ...

  10. Imcash:一边大裁员,一边大扩招,你能否成为区块链人才中的7%?

    农历春节后,互联网创业圈并不太平. 最早,滴滴被曝裁员,占比约为全员的15%,涉及员工约2000人.CEO程维在全员会议上称公司要做好过冬准备.此后,京东接棒,其裁员对象上升至副总裁级别高管,比例占到 ...