CS20SI-tensorflow for research笔记: Lecture1
本文整理自知乎专栏深度炼丹,转载请征求原作者同意。
本文的全部代码都在原作者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
节约计算资源,每次运算仅仅只需运行与结果相关的子图
可以将图分成小块进行自动微分
方便部署在多个设备上
CS20SI-tensorflow for research笔记: Lecture1的更多相关文章
- Google TensorFlow深度学习笔记
Google Deep Learning Notes Google 深度学习笔记 由于谷歌机器学习教程更新太慢,所以一边学习Deep Learning教程,经常总结是个好习惯,笔记目录奉上. Gith ...
- TensorFlow.org教程笔记(二) DataSets 快速入门
本文翻译自www.tensorflow.org的英文教程. tf.data 模块包含一组类,可以让你轻松加载数据,操作数据并将其输入到模型中.本文通过两个简单的例子来介绍这个API 从内存中的nump ...
- CS20SI-tensorflow for research笔记: Lecture3
本文整理自知乎专栏深度炼丹,转载请征求原作者同意. 本文的全部代码都在原作者GitHub仓库github CS20SI是Stanford大学开设的基于Tensorflow的深度学习研究课程. Tens ...
- CS20SI-tensorflow for research笔记: Lecture2
本文整理自知乎专栏深度炼丹,转载请征求原作者同意. 本文的全部代码都在原作者GitHub仓库github CS20SI是Stanford大学开设的基于Tensorflow的深度学习研究课程. Tens ...
- 『TensorFlow』读书笔记_Inception_V3_下
极为庞大的网络结构,不过下一节的ResNet也不小 线性的组成,结构大体如下: 常规卷积部分->Inception模块组1->Inception模块组2->Inception模块组3 ...
- TensorFlow深度学习笔记 Tensorboard入门
转载请注明作者:梦里风林 Github工程地址:https://github.com/ahangchen/GDLnotes 欢迎star,有问题可以到Issue区讨论 官方教程: https://ww ...
- TensorFlow深度学习笔记 循环神经网络实践
转载请注明作者:梦里风林 Github工程地址:https://github.com/ahangchen/GDLnotes 欢迎star,有问题可以到Issue区讨论 官方教程地址 视频/字幕下载 加 ...
- TensorFlow 深度学习笔记 卷积神经网络
Convolutional Networks 转载请注明作者:梦里风林 Github工程地址:https://github.com/ahangchen/GDLnotes 欢迎star,有问题可以到Is ...
- TensorFlow 深度学习笔记 TensorFlow实现与优化深度神经网络
转载请注明作者:梦里风林 Github工程地址:https://github.com/ahangchen/GDLnotes 欢迎star,有问题可以到Issue区讨论 官方教程地址 视频/字幕下载 全 ...
随机推荐
- YARN配置
环境搭建 mapred-site.xml <configuration> <property> <name>mapreduce.framework.name< ...
- SSL 3.0曝出Poodle漏洞的解决方案
tomcat 各版本对ssl解决方案的配置:tomcat6: <Connector port="443" protocol="org.apache.coyote.h ...
- 关于vue的computed、filters、watch
filters 这个属性大家可能用的不是很多 因为一般的数组过滤我们用 es6的filter就能完成了 我想到一个场景,网上买书促销 满100减50 满两百减100 <input type=&q ...
- 1到n的最小步数
1到n的最小步数 Time Limit: 1 Sec Memory Limit: 128 MB 给你一个数n,让你求从1到n的最小步数是多少. 对于当前的数x有三种操作: 1: x+1 2: x ...
- Node.js 操作 OSX 系统麦克风、扬声器音量
最近几年 Electron 很火,公司也正好有个项目想做跨平台客户端,大家研究了一下就选择了 Electron,第一次做 js 的项目遇到了不少坑,不过也都一点点解决了. 因为项目中需要对用户录音,H ...
- keras安装-【老鱼学keras】
为何要用keras? 两个字:简单. Keras让深度学习像搭建积木一样方便地来进行,使前面的tensorflow能够更加方便地使用. 虽然还有其它更多的理由,比如:Keras 支持多个后端引擎,不会 ...
- sqlserver 删除表 视图 函数 存储过程
use tax_ceshiselect 'DROP TABLE '+name from sysobjects where type = 'U'union select 'DROP VIEW '+nam ...
- ISP PIPLINE (十四) AE(自动曝光)
自动曝光可以可以通过调节 模拟增益,数字增益,曝光时间,光圈大小来调剂曝光. 曝光在ISP PIPLINE的位置. (先介绍一个额外的知识点: ) gamma compression(也就是de-ga ...
- 我的 FPGA 学习历程(09)—— 时序逻辑入门
讲到这篇时,组合逻辑就告一段落了,下面是一些总结: 描述组合逻辑时,always 语句中的敏感信号列表中需要列出全部的可能影响输出的变量 描述组合逻辑时,always 语句中的赋值总是使用阻塞赋值符号 ...
- 关于H5在微信浏览器内自动转格式,导致不能正常打开的问题
从最近开始,微信朋友圈打开我们的H5页面有时会出现了“此网页已被QQ浏览器重新排版”的提示,直接结果就是导致H5网页或H5小游戏不能正常显示了!!这个问题什么严重,不知道腾讯又是怎么考虑的,难道真的是 ...