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区讨论 官方教程地址 视频/字幕下载 全 ...
随机推荐
- 在做zabbix分布式监控时遇到的各种坑
因为公司在用zabbix的时候需要用到zabbix-proxy,所以今天就在三台虚拟机上做了测试: 环境:zabbix-server端:centos6.8 上面安装了zabbix-server.zab ...
- 饮冰三年-人工智能-Python-28 企业官网(组合搜索)
1 2:组合搜索 2.1 创建model类 from django.db import models class Direction(models.Model): """ ...
- C# DynamicObject 动态对象
dynamic是FrameWork4.0的新特性.dynamic的出现让C#具有了弱语言类型的特性.编译器在编译的时候不再对类型进行检查,编译期默认dynamic对象支持你想要的任何特性.比如,即使你 ...
- Alignment And Compiler Error C2719 字节对齐和编译错误C2719
Compiler Error C2719 'parameter': formal parameter with __declspec(align('#')) won't be aligned The ...
- Excel—文本函数
LEFT(从左开始取文本的函数)就是这个函数可以帮我们取文本,按照从左到右的顺序取 函数语法:=LEFT(要取的文本所在的单元格,从左到右取前几位)这表示的是字符,一个英文字母占一个字符,一个汉子也占 ...
- 百度地图Web引用
上海中心二楼 示例 http://api.map.baidu.com/geocoder?address=北京市海淀区上地信息路9号奎科科技大厦&output=html&src=weba ...
- leetcode刷题11. 盛最多水的容器
做题连接https://leetcode-cn.com/problems/container-with-most-water/submissions/ 本题分为两种方法: 暴力法: int maxAr ...
- nginx配置ssl验证
在上一篇博客中,我们只是通过nginx搭建了反向代理服务,由于需要在小程序中使用https服务,所以需要申请安全证书. 1.在所购买的域名商那申请免费的ssl证书,我买的是阿里的,所以直接在阿里上申请 ...
- APM飞控学习之路的资料
飞控学习之路的资料 https://blog.csdn.net/u010682510 博客资料 https://blog.csdn.net/qq_26573899/article/category/7 ...
- Python3-大魔王小项目-田忌赛马
本人今天第一次接触项目,花了4小时,不包括学习时间,特此留个纪念 记录一下那些年走过的坑,以资鼓励 英语不怎么好,随缘看看 内容: 类似田忌赛马,三盘两胜,属性人物在一定范围内随机,就这样了 code ...