TensorFlow笔记(一) tf基础知识


最近在看的一本书,蒋子阳《TensorFlow深度学习算法原理与编程实战》的学习笔记(一)

TensorFlow 基础

tf以计算图为基础,整个计算过程包括 ① 构建图 ②执行图

TensorFlow首先创建一个骨架图,里面包含所有组件,此时没有数据和计算的产生,只有当会话执行时,数据进入图中进行流动,才有实际的结果产生。

tf的三个模型:

计算图 – 计算模型

图:是相互连接的实体的集合,通常称为节点node,节点通过边edge连接

TensorFlow中的图的每一个节点表示一个操作,并可应用在某个输入或生成传递给其他节点的输出

依赖关系:一个节点的输入取值于另一个节点的输出,那么这两个节点具有依赖关系。存在依赖关系的节点通过边相互连接。

张量(tensor)就是在边中流动(flow)的数据,这也是TensorFlow名称的由来。此外,存在一种不流动数据的边,它们起着依赖控制(control dependencies)作用,让起始节点执行完后才执行下一个目标节点,但中间没有数据传输。

创建图

eg.定义一个简单的graph。 a b相乘得到c, d等于c的正弦,e等于b d的商

import tensorflow as tf
a = tf.constant(5,tf.float32)  # 定义常量
b = tf.constant(10,tf.float32)
print(b) # Tensor("Const_1:0", shape=(), dtype=float32) 名称为const_1:0的tensor对象,类型是float32
c = b*a  # c = tf.mul(a,b)    c定义了这个乘法操作
d = tf.sin(c)
e = b / d

with tf.Session() as sess: # 使用with语句打开会话可以保证计算完成后将会话自动关闭,否则使用sess.close()操作
    fetches = [a,b,c,d,e]
    out1 = sess.run(fetches) # sess.run可以同时计算多个节点列表 sess.run参数称为fetches(提取),将节点传入参数,用来计算该节点的值
    # TensorFlow仅利用依赖关系的集合来计算节点 例如,e依赖 b和d,则通过b d计算e
    outs = sess.run(e)
print(out1,type(out1),out1[0])

在这里插入图片描述

tf的计算图

导入tf的时候,会自动生成一个空白图,后续的操作都与该默认图关联。

可以通过tf.Graph()创建一个新的空白图,并可以自定义操作与它关联。任何一个节点都可以通过graph属性查看是否属于某个图

import tensorflow as tf
print(tf.get_default_graph()) #默认空白图
g = tf.Graph()
print</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值