每次一篇10分钟,小步快跑攻陷Tensorflow(tensor
2019-11-17 本文已影响0人
一块自由的砖
为什么是tensorflow
常见的框架有theano、mxnet、caffe、pytorch、tensorflow。Tensorflow的python接口比较方便,高移植性,兼容多个平台,有可视化工具TensorBoard,最重要的是社区比较强大,重要的是有个好的爹google。
那些公司在用tensorflow?
Google、OpenAI、Airbus、Uber、DeepMind、SnapChat、peBay、Dropbox、BAT的一些团队、各种创业公司等等。
什么是Tensorflow?
TensorFlow™ 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。
基本概念
Data Flow Graph(数据流图)
image.png
Graph(图)可以理解为具体的计算方式,比如加减乘除等运算的组合,类似于一个函数。它本身不会进行任何计算
Session(会话)可以理解为一个执行者,用来运行一个graph,或者运行graph的一部分。
Tensor (张量)可以理解为N维数组,需要操作的具体数据。
Flow(流动)可以理解为基于数据流图的具体计算。
通俗的理解四者的关系,用吃涮锅举例子。咱们提前准备肉,鱼丸啥的这是张量。选什么锅底比如线性的还是RNN的这是图。放好锅底插上电开始涮,这个是会话。开始吃了,夹菜,刷就让张量流动起来了。
环境
windows10
anaconda3(64bit)
image.png
实例
用tensorflow实现一个1+1的计算,理解下基本的概念
1.定义和初始化张量
2.定义数据流图
3.执行会话,让数据流动起来
全部代码
# -*- coding: utf-8 -*-
"""
Spyder Editor
This is a demo script file.
"""
#引入tensorflow
import tensorflow as tf
#定义和初始化张量
a = tf.constant(1)
b = tf.constant(1)
#定义数据流图,就是如果操作张量
x = tf.add(a,b)
#声明session,并执行操作
with tf.Session() as sess:
#写到图日志文件里,方便看board
writer = tf.summary.FileWriter('./graphs', sess.graph)
#输出运行结果
print(sess.run(x))
#关闭writer
writer.close()
通过命令行,启动tensorboard 查看graphs
image.png
在graphs目录的上级目录,输入命令:
tensorboard --logdir graphs
image.png
如果默认端口没有被占用,就不用通过port参数设置端口,通过浏览器访问:http://localhost:6006 即可
image.png