TensorFlow 安装及入门
- 安装
- 入门
- TensorFlow简介
- 基本操作
- loading lazy
安装
上TensorFlow官网按照教程安装。
入门
以下学习内容follow这篇博客
TensorFlow简介
TensorFlow是Google Brain Team开发的一个深度学习框架,使用的是data flow graph的模型进行计算。TF使用Python的API,可以布置在多个CPU,GPU上,并且有移动端的版本。可以在树莓派,Android,Windows,iOS,Linux上运行。
TF的计算模型是data flow graph,如下图:
整个模型在运行的时候就会从输入到输出。另外TF有个特点就是计算和具体执行时分开的,就是先定义一堆计算,整个框架描绘好,然后再开启一个session来执行。
tensor:n维数组,0维的就是scalar,一个数字;1维的就是vector;2维的就是matrix。
Session有两种写法:
第一种:
import tensorflow as tfa = tf.add(3,35)
sess = tf.Session()
sess.run(a)
sess.close()
第二种:
import tensorflow as tfa = tf.add(3,35)
with tf.Session() as sess:sess.run(a)
为了节省计算量,session只计算与结果相关的部分,因此,需要计算什么就把上面加到run的list里。
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:print sess.run([pow_op, useless])
基本操作
常量申明:
a = tf.constant([2, 3], name = "a")
b = tf.constant([[3, 1], [2, 9], [1, 3]], name = "b")
x = tf.add(a, b, name = "add")
y = tf.multiply(a, b, name = "mul")with tf.Session() as sess:print sess.run([x, y])print xprint y
注意:这里的add和mul是对应元素相加相乘,不同于一般的矩阵运算!
结果如下:
[array([[ 5, 4],[ 4, 12],[ 3, 6]], dtype=int32), array([[ 6, 3],[ 4, 27],[ 2, 9]], dtype=int32)]
基本初始化:
# tensor初始化为0
# tf.zeros(shape, dtype = tf.float32, name = None)
print tf.zeros([2, 3], tf.int32) # [[0, 0, 0], [0, 0, 0]]# tf.zeros_like(input_tensor, dtype = None, name = None, optimize = True)
input_tensor = [[1,2], [3,4], [5,6]]
print tf.zeros_like(input_tensor) # [[0,0], [0,0], [0,0]# tensor初始化为1
# tf.ones(shape, dtype = tf.float32, name = None)
print tf.ones([3,2], tf.int32) # [[0, 0], [[0, 0], [0, 0]]# tf.ones_like(input_tensor, dtype = None, name = None, optimize = True)
print tf.ones_like(input_tensor) # [[1,1], [1,1], [1,1]# tensor初始化为某个值
# tf.fill(dims, value, name = None)
print tf.fill([2,3],6) # [[6,6,6], [6,6,6]]
运行结果如下:
Tensor("zeros:0", shape=(2, 3), dtype=int32)
Tensor("zeros_like:0", shape=(3, 2), dtype=int32)
Tensor("ones:0", shape=(3, 2), dtype=int32)
Tensor("ones_like:0", shape=(3, 2), dtype=int32)
Tensor("Fill:0", shape=(2, 3), dtype=int32)
loading lazy
只有在需要的时候才会创建或者是初始化一个object。导致一个循环出现的时候,这个graph就重复了n遍
正常:
a = tf.Variable(10, name = "a")
b = tf.Variable(20, name = "b")
z = tf.add(a, b, name = "add")with tf.Session() as sess:sess.run(tf.global_variables_initializer())writer = tf.summary.FileWriter("./graphs", sess.graph)for _ in range(10):print sess.run(z)writer.close()
正常的图形
正常的结构
loading lazy
a = tf.Variable(10, name = "a")
b = tf.Variable(20, name = "b")with tf.Session() as sess:sess.run(tf.global_variables_initializer())writer = tf.summary.FileWriter("./graphs", sess.graph)for _ in range(10):print sess.run(tf.add(a, b))writer.close()
loading lazy图形
loading lazy结构
TensorFlow 安装及入门相关推荐
- TensorFlow 教程 --新手入门--1.3 安装实例
TensorFlow是Google的一个开源机器学习框架,官网:https://www.tensorflow.org/ 里面有详细的教程和API说明,我在虚拟机上装的TensorFlow所以不支持C ...
- Anaconda:Anaconda安装图文教程及其tensorflow安装、运行、测试之最强详细攻略
Anaconda:Anaconda安装图文教程及其tensorflow安装.运行.测试之最强详细攻略 导读 能够在进行深度学习之前把这些辅助工具Python.Anaconda.GPU.Tensorfl ...
- TensorFlow安装-windows系统
官方各版本的安装说明:https://www.tensorflow.org/install/ 本文介绍如何在windows环境下安装tensorflow, 跑起来简单的demo. 1.安装python ...
- TensorFlow.js快速入门
by Pau Pavón 通过保罗·帕文(PauPavón) TensorFlow.js快速入门 (A quick introduction to TensorFlow.js) TensorFlow ...
- [图解tensorflow源码] 入门准备工作附常用的矩阵计算工具[转]
[图解tensorflow源码] 入门准备工作 附常用的矩阵计算工具[转] Link: https://www.cnblogs.com/yao62995/p/5773142.html tensorfl ...
- TensorFlow发布语音识别入门教程,附1GB数据集代码
原标题:TensorFlow发布语音识别入门教程,附1GB数据集&代码 机械鸡的鸡友经常问:如何开始入门深度学习语音和其他音频识别,例如关键字检测或语音命令. 虽然有一些伟大的开源语音识别系统 ...
- Tensorflow深度学习入门(1)——Tensorflow环境搭建
Tensorflow深度学习入门--环境搭建 自测以下的环境搭建方式是行得通的,目前我用的就是这些 1. 下载安装Ubuntu 14.04 虚拟机 https://github.com/ ...
- Tensorflow之Mnist入门
当我们学习编程的时候,第一件事情往往是学习如何打印出"Hello World".正如编程中会有"Hello World",Tensorflow中入门有mnist ...
- Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow pip命令...
引言: Tensorflow大名鼎鼎,这里不再赘述其为何物.这里讲描述在安装python包的时候碰到的"No matching distribution found for tensorfl ...
最新文章
- Linux vim开启/关闭代码着色(高亮显示)
- ITK:使用最小最大曲率流平滑图像
- Java黑皮书课后题第2章:*2.22(金融应用:货币单位)改写程序清单2-10,解决将double转int可能会造成精度损失问题。以整数值作为输入,其最后两位代表的是美分币值
- 献给开发者的大礼--打造CSDN论坛专用阅读器(电脑报2006年11月6日 第44期)
- [Leetcode][第392题][JAVA][判断子序列][动态规划][双指针]
- 自己简单封装的自己项目需要的http请求
- 运算除法的计算机函数,2、Python基础--除法、常用数学函数(示例代码)
- 计算机端口介绍[详细列表]
- 怎样进行云迁移 企业才不会后悔!
- [SDOI2009]HH的项链 BZOJ1878
- CAM350测量pcb尺寸的操作方法
- series 锐捷rgrsr20_锐捷路由器(RG-RSR20-04)清除密码的方法详解
- 微信小程序生成推广二维码
- html可以简写的属性,css有哪些缩写属性?
- Oier们的幸运数字
- ROS小车——发布与订阅节点(7)【ROS保姆注释教学】
- 计算机操作系统之进程
- 工控 组态王6.60 SP3软件7.5 SP4 授权软件狗 USB 硬件狗 分享 下载
- 搞笑文章|如何瘫痪你的电脑
- 英语学习方法备忘_2
热门文章
- linux中设置程序开机自动启动
- 列式存储 V.S. 行式存储
- nagios 监控NFS
- google appengine的yaml文件,配置说明
- Oracle控制文件的重建
- mysql img格式缩放,再学 GDI+[89]: TGPImage(9) - 图像缩放时的质量(算法)
- 云计算的认识和看法_【云计算】如何理解云计算才是正确的?
- java反射的性能_java反射的性能问题
- 腾讯面试题:创建索引时,你会怎么考虑呢?(看完你就能和面试官谈人生了)
- 不明白点积的几何意义