Tensorlow入门--python语言(一)

Tensorflow框架

张量、计算图、会话

TensorFlow是一个通过计算图的形式来表述计算的编程系统,每一个计算都是计算图上的一个节点,而节点之间的边描述了计算之间的依赖关系。

Tensor代表张量,可以简单理解为多维数组,Tensor表明了它的数据结构。
Flow则体现了它的计算模型,表达了张量之间通过计算相互转化的过程。

TensorFlow程序一般可以分为两个阶段,第一个阶段需要定义计算图中所有的计算,第二个阶段为执行计算。

1.基于Tensorflow的NN(nertual netword):用张量表示数据,用计算图搭建神经网络,用会话计算图,优化线上的权重(参数),得到模型。

2.张量(tensor) : 多维数组(列表)
阶:张量的维数

维数 名字 例子
0-D 0 标量 scaiar s=123
1-D 1 向量 vector v=[1,2,3]
2-D 2 矩阵 matrix m=[[1,2,3],[4,5,6],[7,8,9]]
n-D n 张量 tensor t=[[[[[ …]]]]] (n个中括号)

张量可以表示0阶到n阶数组(列表)

3.数据类型:tf.float32 tf.int32 …

import tensorflow as tf
a = tf.constant([2.0,3.0])#定义常量a为一行两列的数组
b = tf.constant([3.0,4.0])#定义常量b为一行两列的数组

result = a+b
print(result)    

运行结果:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-frEPKDa6-1574833737829)(./1574832086831.png)]
add 是节点名,0是第0个输出,shape是维度,(2, )是指一维数组的长度是2,dype=float32 是指数据类型是32位浮点型

5.计算图Graph

计算图是TensorFlow的计算模型,所有TensorFlow的程序都会通过计算图的形式表示。
计算图的每个节点都是一个运算,而计算图上的边则表示运算之间的数据传递关系。
计算图上保存了运行每个运算的设备信息以及运算之间的依赖关系
计算图提供了管理不同集合的功能

上述例子,并没有真的去计算图,为了真正实现去计算它,就有了会话的概念

6.会话Session
会话拥有并管理TensorFlow程序运行时的所有资源,所有计算完成之后需要关闭会话来帮助系统回收资源,否则可能出现资源泄露的问题。

上述例子的改进

import tensorflow as tf
a = tf.constant([2.0,3.0])#定义常量a为一行两列的数组
b = tf.constant([3.0,4.0])#定义常量b为一行两列的数组

result = a+b
with tf.Sessin() as sess:
	print(sess.run(result))

运行结果[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KkckKgPc-1574833737831)(./1574833107133.png)]

####总结
计算图是TensorFlow的计算模型,所有TensorFlow的程序都会通过计算图的形式表示。
计算图的每个节点都是一个运算,而计算图上的边则表示运算之间的数据传递关系。
计算图上保存了运行每个运算的设备信息以及运算之间的依赖关系
计算图提供了管理不同集合的功能

张量是TensorFlow的数据模型,所有运算的输入、输出都是张量。
张量不存储任何数据,它只是对运算结果的引用。

会话是TensorFlow的运算模型,它管理了一个TensorFlow程序拥有的系统资源,所有的运算都要通过会话执行。

你可能感兴趣的:(Tensorlow入门--python语言(一))