TensorFlow入门教程(1)安装、基础、Tensorboard
2017-12-10 02:08
671 查看
TensorFlow入门教程
本教程适合人群:- 会些python但不是特别精通
- 机器学习的初学者
本教程预计耗时:
- 2—3小时
本教程预计效果:
- 掌握TensorFlow的基础操作
- 学会使用TensorBoard可视化计算图
- 使用TensorFlow完成最简单的机器学习
/——————————————-
欢迎看我的新博文 tensorflow新手实战破验证码,
讲述了我如何用tensorflow搞定福建某三本高校的验证码的故事
tensorflow新手实战破验证码
/——————————————-
我的学习路线基本按照官网(www.tensorflow.org)的教程来,讲一下我自己按教程做的流程并贴出碰到的一些坑,想学tensorflow的同学可以跟着我操作,讲的不对欢迎指正。
安装
TensorFlow 支持 C, C++, Python。不过官网的教程中提到在使用前先要会用Python,所以用python可能好一些。python怎么装的就不讲了,我装的python3,2好像也能用。tensorflow支持windows,但windows的版本更行会滞后与linux,不过个人感觉没必要只为学个tensorflow装linux,所以我还是用的win10。我的系统配置清单:
win10
python3.6
tensorflow的cpu版本安装就只要在cmd里打一句话:
pip3 install --upgrade tensorflow
gpu版本安装就繁琐很多,本人只是抱着玩玩的态度,也就没装。
基本概念
张量(Tensors)Tensor是tensorflow中数据的重要的核心单元。(原文:The central unit of data in TensorFlow)Tensor相当于一个类似数组数据结构,数组的维度可以任意定。
官网给出了一些tensor的例子:
[1.,2.,3.]#一阶张量
[[1.,2.,3.],[4.,5.,6.]]#二阶张量
[[[1.,2.,3.]],[[4.,5.,6.]]]#三阶张量
计算图(The Computational Graph)
计算图是一张放入一连串的操作的结点图。每个结点获得0个或更多张量作为输入,一个或更多张量作为输出。常量(官网:constant)可以当成是特殊的结点,它没有输入并且只有一个不变的输出。
下面就跟着官网的教程走一边熟悉下计算图:
import tensorflow as tf node1 = tf.constant(3.0,dtype=tf.float32) node2 = tf.constant(4.0) print (node1,node2)
我们通过tensorflow提供的constant创建了两个常量结点,都为float32型(第二个类型由默认获得)。
输出为:
Tensor("Const:0", shape=(), dtype=float32) Tensor("Const_1:0", shape=(), dtype=float32)
此时输出的并非结点的值,我们只有评估(evaluate)后才能得到我们输入的值:3.0和4.0。
session
评估一个节点,必须在一个Session中运行计算图,Session封装了Tensorflow运行时的状态和控制。接下来就创建一个Session,调用run方法,运行计算图,去评估node1和node2。
sess = tf.Session() print(sess.run([node1,node2]))
可以在输出中看到node1和node2的值:
Tensor("Const:0", shape=(), dtype=float32) Tensor("Const_1:0", shape=(), dtype=float32) 2017-12-10 10:01:12.441433: I C:\tf_jenkins\home\workspace\rel-win\M\windows\PY\36\tensorflow\core\platform\cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2 [3.0, 4.0]
因为装的cpu版本而没装AVX和AVX2,所以出现了提示,装上AVX的话可以提高运行速度,不过我没装。
可以使用计算操作将多个节点组合(计算也是结点),例如将两个常量节点相加,产生一个新的计算图:
node3 = tf.add(node1, node2) print("node3: ", node3) print("sess.run(node3): ",sess.run(node3))
官网的代码中加了一句:
from __future__ import print__function
用于python2兼容3的加括号print,我使用python3不用加。
得到结果:
node3: Tensor("Add:0", shape=(), dtype=float32) sess.run(node3): 7.0
Tensorboard
Tensorboard是tensorflow自带的可视化模块,网上关于它的资源很少,而且基本一上来就是默认你已经有很高的水平的那种,对新手十分不友好,我摸索了好久,才搞懂怎么把官网教程里的那张图显示出来:
python中运行的代码如下:
import tensorflow as tf node1 = tf.constant(3.0,dtype=tf.float32) node2 = tf.constant(4.0) node3 = tf.add(node1, node2) writer = tf.summary.FileWriter('D:/ten',tf.get_default_graph()) writer.close()
writer = tf.summary.FileWriter(‘D:/ten’, tf.get_default_graph())这句话生成了当前计算图的日志并保存在D:/ten。
然后命令行输入
C:\WINDOWS\system32>D: D:\>tensorboard --logdir="ten"
然后打开浏览器访问http://localhost:6006就
9567
可以看到上图界面,推荐使用谷歌浏览器查看。
这里说一下我踩的一个坑,一定要先进D盘在选目录,不能直接
C:\WINDOWS\system32>tensorboard --logdir="D:\ten"
不然你看到的画面会是这样:
过会儿发TensorFlow入门教程(2)
相关文章推荐
- 真正从零开始,TensorFlow详细安装入门图文教程!
- TensorFlow 中文资源精选,官方网站,安装教程,入门教程,实战项目,学习路径
- 真正从零开始,TensorFlow详细安装入门图文教程!
- python基础系列教程——Python的安装与测试:python解释器、PyDev编辑器、pycharm编译器,tensorflow安装
- TensorFlow详细安装入门图文教程!
- [TensorFlow入门教程1]之安装TnsorFlow
- HBase入门基础教程之单机模式与伪分布式模式安装(转)
- TensorFlow 教程 --新手入门--1.2 下载安装
- TensorFlow 教程 --新手入门--1.3 安装实例
- 真正从零开始,TensorFlow详细安装入门图文教程!
- 真正从零开始,TensorFlow详细安装入门图文教程!
- python基础系列教程——Python的安装与测试:python解释器、PyDev编辑器、pycharm编译器,tensorflow安装
- TensorFlow入门教程:1:安装和第一个例子程序
- Provisioning Services 7.8 入门系列教程之二 基础环境安装
- TensorFlow 中文资源精选,官方网站,安装教程,入门教程,实战项目,学习路径。
- Ubuntu 16.04 中文版安装基础入门教程(图文),ubuntu16.04
- TensorFlow下载安装&入门教程
- 真正从零开始,TensorFlow详细安装入门图文教程
- 真正从零开始,TensorFlow详细安装入门图文教程!
- TensorFlow入门教程:1:安装和第一个例子程序