TensorFlow自学笔记——计算图、张量、会话

TensorFlow自学笔记——计算图、张量、会话

简介

TensorFlow的使用方式不像传统编程一样,需要用到哪个功能直接调用该函数,传入给定数据,然后接收函数返回结果。

它更像一个画板,在画板上画上各种线条,而色彩却可以随意上色

我自己来理解的话
就像UE4中的材质蓝图,先是使用各种计算节点与常量、变量节点去描述整个计算结构,等到真正程序运行的时候才会真正的计算,并得出结果。

也像FPGA中的Verilog HDL语言,通过语言去描述数字电路结构,每一个逻辑门的连接方式,去构建一个庞大的数字集成电路,但要等到上电运行的时候才会得出结果。

张量

Tensorflow中的Tensor就是张量的意思,实际上他就是个多维数组
但是要注意他描述的只是一个多维数组的结构,而不是一个真正的多维数组

一个常量

a = tf.constant([1.0,2.0],name="a")

一个变量

a = tf.Variable([1,2],name="a")

会话

在所有的结构描述完毕后,当需要运行时,就需要创建一个会话

创建会话的作用就像将逻辑载入到FPGA中一样

sess = tf.Session()

而创建完会话还需要指定运算的对象

sess.run(...)

(…)就是需要计算的对象

当然计算完毕后需要关闭会话释放资源

sess.close()

计算图

如果说TensorFlow是一个画板,那么计算图就是这个画板上的每一张纸,每一个计算图都可以构建出不同的画,他们之间没有关联。

处于计算图上的每个张量、运算都不会共享

import tensorflow as tf

g1 = tf.Graph()								#创建一个新的计算图名为 g1
with g1.as_default():						#将g1作为默认图
    a = tf.constant([1.0,2.0],name="a")		#在g1中声明常量a
    b = tf.constant([3.0,4.0],name="b")		#在g1中声明常量b
    res1 = a + b							#在g1中描述a+b的计算

g2 = tf.Graph()								#创建一个新的计算图名为 g2
with g2.as_default():						#将g2作为默认图
    a = tf.constant([5.0,6.0],name="a")		#在g2中声明常量a
    b = tf.constant([7.0,8.0],name="b")		#在g2中声明常量b
    res2 = a + b							#在g2中描述a+b的计算


with tf.Session(graph=g1) as sess:			#为g1创建会话
    print(sess.run(res1))					#计算res1的结果并打印出来

with tf.Session(graph=g2) as sess:			#为g2创建会话
    print(sess.run(res2))					#计算res2的结果并打印出来

运行结果:

runfile('C:/Users/Administrator/Desktop/a3/untitled0.py', wdir='C:/Users/Administrator/Desktop/a3')
[4. 6.]
[12. 14.]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值