TesnsorFlow简介
一. Tensorflow中的基本概念
【1】Graph
(图)来表示计算任务
【2】Session
(会话)执行Graph
【3】Tensor
表示数据
【4】Variable
维护状态
【5】Feed
和Fetch
为任意的操作赋值或者从中获取数据
【6】Tensor
(张量)是某一类型的多维数组
【7】OP节点操作
二. Tensorflow的计算图
TensorFlow
是基于计算流图的,其命名来源于自身的运行原理。Tensorflow使用图来表示计算任务,如下图所示:
文章图片
图中的节点被称为
op(operation)。一个op获得0个或多个tensor。op执行计算,产生0个或多个tensor。TensorFlow的一个Graph描述(定义)了计算的过程,图只有在Session中启动,才能使op返回具体的tensor。
所以Tensorflow的程序通常分为
构建阶段
和
执行阶段
。执行的过程就是tensor在计算图中的flow,所以称之为Tensorflow。
# -*- coding: UTF-8 -*-
import tensorflow as tf
# 创建常量op
a = tf.constant([1, 2, 3])
b = tf.constant([4, 5 ,6])
# 创建add的op
c = tf.add(a, b)
print('c before:', c)
# 建立session,用with即用python中的上下文管理器管理这个session,当上下文管理器退出时,会释放资源,结束session
with tf.Session() as sess:
print(sess.run(c))
输出的结果为:
('c before:', )
[5 7 9]
【TesnsorFlow简介】通过session,数据才能在计算图中流动起来,这时候可以得到具体的数值。
(1) Fetch
取回操作是使用Session对象的run()调用执行图时,传入tensor,这些tensor会帮助我们取回结果。
上面的例子我们只取回了一个tensor,也可以取回多个tensor
# -*- coding: UTF-8 -*-import tensorflow as tf
# 创建常量op
a = tf.constant([1, 2, 3])
b = tf.constant([4, 5 ,6])
# 创建add的op
c = tf.add(a, b)
d = a+c
print('c before:', c)
# 建立session,用with即用python中的上下文管理器管理这个session,当上下文管理器退出时,会释放资源,结束session
with tf.Session() as sess:
print(sess.run([c, d]))
(2) Feed
feed可以理解为一个占位符,当运行的时候可以临时代替计算图中任意操作中的tensor。
# -*- coding: UTF-8 -*-import tensorflow as tf
# 创建常量op
a = tf.placeholder(tf.float32)
b = tf.placeholder(tf.float32)
# 创建add的op
c = tf.add(a, b)# 建立session,用with即用python中的上下文管理器管理这个session,当上下文管理器退出时,会释放资源,结束session
with tf.Session() as sess:
print(sess.run(c, feed_dict={a: [1.], b: [2.]}))
这里的placeholder就是占位符,在run的时候feed具体的数值。
Tensorflow的发展背景及运行机制 这里可以参见背景&&运行机制
推荐阅读
- 一个人的旅行,三亚
- 一个小故事,我的思考。
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量
- 开学第一天(下)
- 一个人的碎碎念
- 2018年11月19日|2018年11月19日 星期一 亲子日记第144篇
- 遇到一哭二闹三打滚的孩子,怎么办┃山伯教育
- 第326天
- Y房东的后半生14
- 奔向你的城市