TensorFlow-1 入门
2017-07-26 16:59
127 查看
将UFLDL深度学习学了一遍之后,虽然完成了里边的大多数编程题,但是觉得matlab写程序有点low,本着看起来高大上的目的,决定好好钻研一下TensorFlow。TensorFlow的学习中借鉴了不少大牛的东西,如若侵权,请联系本文进行删除。
Tensor(张量)意味着 N 维数组,Flow(流)意味着基于数据流图的计算,TensorFlow即为张量从图的一端流动到另一端。
它的一大亮点是支持异构设备分布式计算,它能够在各个平台上自动运行模型,从电话、单个CPU / GPU到成百上千GPU卡组成的分布式系统。
支持CNN、RNN和LSTM算法,是目前在 Image,NLP 最流行的深度神经网络模型。
第一,基于Python,写的很快并且具有可读性。
第二,在多GPU系统上的运行更为顺畅。
第三,代码编译效率较高。
第四,社区发展的非常迅速并且活跃。
第五,能够生成显示网络拓扑结构和性能的可视化图。
因为本人是windows 8.1 64位系统,且电脑上已经安装了python 3.5,所以是在此基础上进行安装的。
1.升级pip
从http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy 下载相应的TensorFlow
3.安装
1.TensorFlow的使用过程就是 : 建图-》启动图-》运行取值
TensorFlow 用图来表示计算任务,图中的节点被称之为operation,缩写成op。
一个节点获得 0 个或者多个张量 tensor,执行计算,产生0个或多个张量。
图必须在会话(Session)里被启动,会话(Session)将图的op分发到CPU或GPU之类的设备上,同时提供执行op的方法,这些方法执行后,将产生的张量(tensor)返回。
2. TensorFlow中的重要理解点:
将计算流程表示成图;
通过Sessions来执行图计算;
将数据表示为tensors;
使用Variables来保持状态信息;
分别使用feeds和fetches来填充数据和抓取任意的操作结果;
1. TensorFlow 是什么
是一个深度学习库,由 Google 开源,可以对定义在 Tensor(张量)上的函数自动求导。Tensor(张量)意味着 N 维数组,Flow(流)意味着基于数据流图的计算,TensorFlow即为张量从图的一端流动到另一端。
它的一大亮点是支持异构设备分布式计算,它能够在各个平台上自动运行模型,从电话、单个CPU / GPU到成百上千GPU卡组成的分布式系统。
支持CNN、RNN和LSTM算法,是目前在 Image,NLP 最流行的深度神经网络模型。
2. TensorFlow 的优点
第一,基于Python,写的很快并且具有可读性。第二,在多GPU系统上的运行更为顺畅。
第三,代码编译效率较高。
第四,社区发展的非常迅速并且活跃。
第五,能够生成显示网络拓扑结构和性能的可视化图。
3. TensorFlow 的安装
因为本人是windows 8.1 64位系统,且电脑上已经安装了python 3.5,所以是在此基础上进行安装的。1.升级pip
python.exe -m pip install --upgrade pip2.下载
从http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy 下载相应的TensorFlow
3.安装
pip install ........whl4.测试
>>> import tensorflow as tf >>> hello = tf.constant('Hello, TensorFlow!') >>> sess = tf.Session() >>> print(sess.run(hello)) Hello, TensorFlow! >>> a = tf.constant(10) >>> b = tf.constant(32) >>> print(sess.run(a + b)) 42
3. TensorFlow 的使用
1.TensorFlow的使用过程就是 : 建图-》启动图-》运行取值TensorFlow 用图来表示计算任务,图中的节点被称之为operation,缩写成op。
一个节点获得 0 个或者多个张量 tensor,执行计算,产生0个或多个张量。
图必须在会话(Session)里被启动,会话(Session)将图的op分发到CPU或GPU之类的设备上,同时提供执行op的方法,这些方法执行后,将产生的张量(tensor)返回。
2. TensorFlow中的重要理解点:
将计算流程表示成图;
通过Sessions来执行图计算;
将数据表示为tensors;
使用Variables来保持状态信息;
分别使用feeds和fetches来填充数据和抓取任意的操作结果;
import tensorflow as tf import numpy as np #Step 1: 建图 建图中的值并没有真正赋值,需要等会话启动通过run()进行赋值 # 用NumPy 随机生成100个数据 x_data=np.float32(np.random.rand(2,100)) #2行100列随机数 范围[0,1) y_data=np.dot([0.100, 0.200], x_data)+0.300 #矩阵乘法 #构造一个线性模型 b=tf.Variable(tf.zeros([1])) W=tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0)) y=tf.matmul(W,x_data)+b #最小化方差 loss=tf.reduce_mean(tf.square(y-y_data)) optimizer=tf.train.GradientDescentOptimizer(0.5) train=optimizer.minimize(loss) #初始化变量 init=tf.initialize_all_variables() #Step 2: 启动图 #启动图 sess=tf.Session() sess.run(init) #Step3 :运行取值 #拟合平面 for step in range(0,201): sess.run(train) if step % 20 == 0: print (step, sess.run(W), sess.run(b))
相关文章推荐
- TensorFlow入门,基本介绍,基本概念,计算图,pip安装,helloworld示例,实现简单的神经网络
- TensorFlow运作方式入门
- tensorflow入门
- TensorFlow安装与使用入门-MacOS环境
- TensorFlow学习笔记1:入门
- tensorflow入门概念
- TensorFlow全新的数据读取方式:Dataset API入门教程
- tensorflow入门6 tensorboard的使用
- tensorflow 入门简介
- TensorFlow和深度学习入门教程
- 【tensorflow入门之一】tensorflow快速安装
- TensorFlow 零基础入门
- tensorflow入门 Mnist
- tensorflow入门(4)逻辑回归分类器
- Tensorflow入门-实现神经网络
- TensorFlow学习之路——入门
- 真正从零开始,TensorFlow详细安装入门图文教程
- TensorFlow安装入门图文教程
- TensorFlow运作方式入门
- [TensorFlow]入门学习笔记(6)-Tensorboard简易教程和模型保存