Tensorflow实践

每次一篇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
上一篇下一篇

猜你喜欢

热点阅读