第3章 TensorFlow入门

简介: 第3章 TensorFlow入门 TensorFlow是Google创造的数值运算库,作为深度学习的底层使用。本章包括: TensorFlow介绍 如何用TensorFlow定义、编译并运算表达式 如何寻求帮助 注意:TensorFlow暂时不支持Windows,你可以用Docker或虚拟机。

第3章 TensorFlow入门

TensorFlow是Google创造的数值运算库,作为深度学习的底层使用。本章包括:

  • TensorFlow介绍
  • 如何用TensorFlow定义、编译并运算表达式
  • 如何寻求帮助

注意:TensorFlow暂时不支持Windows,你可以用Docker或虚拟机。Windows用户可以不看这章。

3.1 TensorFlow是什么?

TensorFlow是开源数学计算引擎,由Google创造,用Apache 2.0协议发布。TF的API是Python的,但底层是C++。和Theano不同,TF兼顾了工业和研究,在RankBrain、DeepDream等项目中使用。TF可以在单个CPU或GPU,移动设备以及大规模分布式系统中使用。

3.2 安装TensorFlow

TF支持Python 2.7和3.3以上。安装很简单:

sudo pip install TensorFlow

就好了。

3.3 TensorFlow例子

TF的计算是用图表示的:

  • 节点:节点进行计算,有一个或者多个输入输出。节点间的数据叫张量:多维实数数组。
  • 边缘:定义数据、分支、循环和覆盖的图,也可以进行高级操作,例如等待某个计算完成。
  • 操作:取一个输入值,得出一个输出值,例如,加减乘除。

3.4 简单的TensorFlow

简单说一下TensorFlow:我们定义a和b两个浮点变量,定义一个表达式(c=a+b),将表达式变成函数,编译,进行计算:

import tensorflow as tf
# declare two symbolic floating-point scalars
a = tf.placeholder(tf.float32)
b = tf.placeholder(tf.float32)
# create a simple symbolic expression using the add function add = tf.add(a, b)
# bind 1.5 to 'a', 2.5 to 'b', and evaluate 'c'
sess = tf.Session()
binding = {a: 1.5, b: 2.5}
c = sess.run(add, feed_dict=binding)
print(c)

结果是4: 1.5+2.5=4.0。大的矩阵操作类似。

3.5 其他深度学习模型

TensorFlow自带很多模型,可以直接调用:首先,看看TensorFlow的安装位置:

python -c 'import os; import inspect; import tensorflow; print(os.path.dirname(inspect.getfile(tensorflow)))'

结果类似于:

/usr/lib/python2.7/site-packages/tensorflow

进入该目录,可以看见很多例子:

  • 多线程word2vec mini-batch Skip-Gram模型
  • 多线程word2vec Skip-Gram模型
  • CIFAR-10的CNN模型
  • 类似LeNet-5的端到端的MNIST模型
  • 带注意力机制的端到端模型

example目录带有MNIST数据集的例子,TensorFlow的网站也很有帮助,包括不同的网络、数据集。TensorFlow也有个网页版,可以直接试验。

3.6 总结

本章关于TensorFlow。总结一下:

  • TensorFlow和Theano一样,都是数值计算库
  • TensorFlow和Theano一样可以直接开发模型
  • TensorFlow比Theano包装的好一些
相关文章
|
7月前
|
TensorFlow 算法框架/工具
tensorflow 入门学习
tensorflow 入门学习
26 0
|
3月前
|
机器学习/深度学习 TensorFlow 区块链
TensorFlow 和 Keras 应用开发入门:1~4 全
TensorFlow 和 Keras 应用开发入门:1~4 全
169 0
|
9月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
TensorFlow 初步:深度学习模型构建入门
TensorFlow 是由 Google Brain 团队开发的深度学习框架,它提供了一种高效且灵活的方式来实现和训练各种深度学习模型。本文将引导你通过 TensorFlow 的基础功能,帮助你构建你的第一个深度学习模型。
|
10月前
|
机器学习/深度学习 存储 人工智能
深度学习入门笔记6 tensorflow学习
深度学习入门笔记6 tensorflow学习
|
TensorFlow 算法框架/工具 iOS开发
《从零到一:IOS平台TensorFlow入门及应用详解(附源》电子版地址
从零到一:IOS平台TensorFlow入门及应用详解(附源
60 0
《从零到一:IOS平台TensorFlow入门及应用详解(附源》电子版地址
|
TensorFlow 算法框架/工具 iOS开发
《从零到一:IOS平台TensorFlow入门及应用详解(附源码)》电子版地址
从零到一:IOS平台TensorFlow入门及应用详解(附源码)
95 0
《从零到一:IOS平台TensorFlow入门及应用详解(附源码)》电子版地址
|
TensorFlow 数据处理 算法框架/工具
TensorFlow 入门:Session、Variable、placeholder
TensorFlow 入门:Session、Variable、placeholder
|
机器学习/深度学习 算法 TensorFlow
深度学习入门笔记系列 ( 八 ) ——基于 tensorflow 的手写数字的识别(进阶)
基于 tensorflow 的手写数字的识别(进阶) 本系列将分为 8 篇 。本次为第 8 篇 ,基于 tensorflow ,利用卷积神经网络 CNN 进行手写数字识别 。
213 0
深度学习入门笔记系列 ( 八 ) ——基于 tensorflow 的手写数字的识别(进阶)
|
机器学习/深度学习 数据挖掘 TensorFlow
TensorFlow学习之旅(一)入门知识记录
TensorFlow学习之旅(一)入门知识记录
133 0
TensorFlow学习之旅(一)入门知识记录
|
机器学习/深度学习 传感器 监控
sklearn&Tensorflow机器学习02 ---用一个完整的项目来进行机器学习入门
学习一个东西首先要从大局在掌握,知道整体框架是什么,有哪些部分,然后再逐个击破,便事半功倍。
170 0
sklearn&Tensorflow机器学习02 ---用一个完整的项目来进行机器学习入门