TensorFlow入门(1)

关于Tensorflow

TensorFlow™ 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等。TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。

什么是数据流图(Data Flow Graph)

数据流图用“结点”(nodes)和“线”(edges)的有向图来描述数学计算。“节点” 一般用来表示施加的数学操作,但也可以表示数据输入(feed in)的起点/输出(push out)的终点,或者是读取/写入持久变量(persistent variable)的终点。“线”表示“节点”之间的输入/输出关系。这些数据“线”可以输运“size可动态调整”的多维数据数组,即“张量”(tensor)。张量从图中流过的直观图像是这个工具取名为“Tensorflow”的原因。一旦输入端的所有张量准备好,节点将被分配到各种计算设备完成异步并行地执行运算。

tf常量变量

import tensorflow as tf
data1= tf.constant(2.5)
data2=tf.Variable(10,name='var')
print(data1)
print(data2)
>>>
 Tensor("Const:0", shape=(), dtype=float32)
<tf.Variable 'var:0' shape=() dtype=int32_ref>
#tensor代表张量  const代表常量  shape代表维度  dtype=float32代表当前数据类型
#var代表变量  dtype int32

tensorflow的操作都必须在session中进行

import tensorflow as tf
data1= tf.constant(2.5)
data2=tf.Variable(10,name='var')
sess=tf.Session()
print(sess.run(data1))

输出
2.5


import tensorflow as tf
data1= tf.constant(2,dtype=tf.int32)
data2=tf.Variable(10,name='var')
sess=tf.Session()
print(sess.run(data1))

init=tf.global_variables_initializer()
sess.run(init)
#变量需要先初始化否则会出错

print(sess.run(data2))
sess.close()
#sess的关闭 方法二  方法一为上述的close方法
import tensorflow as tf

data2=tf.Variable(10,name='var')
sess=tf.Session()
init=tf.global_variables_initializer()
with sess:
    sess.run(init)
    print(sess.run(data2))

Tensorflow实质

实质:张量Tensor+计算图grahps
这里写图片描述
tensor的实质是数据 常量或者变量 一维或者多维
op 对数进行操作
graphs 数据操作

  • 四则运算
#tf常量的四则运算  加减乘除
import tensorflow as tf
data1= tf.constant(6)
data2=tf.constant(2)
dataadd=tf.add(data1,data2)
datamul=tf.multiply(data1, data2)
datasub=tf.subtract(data1, data2)
datadiv=tf.divide(data1,data2)
with tf.Session() as sess:
    print(sess.run(dataadd))
    print(sess.run(datasub))
    print(sess.run(datamul)) 
    print(sess.run(datadiv))

#tf的四则运算  加减乘除
import tensorflow as tf
data1= tf.constant(6)
data2= tf.Variable(2)
dataadd=tf.add(data1,data2)
datamul=tf.multiply(data1, data2)
datasub=tf.subtract(data1, data2)
datadiv=tf.divide(data1,data2)
init=tf.global_variables_initializer()
'''变量的初始化'''
with tf.Session() as sess:
    print(sess.run(init))
    #运行起来init 才能使用
    print(sess.run(dataadd))
    print(sess.run(datasub))
    print(sess.run(datamul)) 
    print(sess.run(datadiv))

#tf的四则运算  加减乘除
import tensorflow as tf
data1= tf.constant(6)
data2= tf.Variable(2)
dataadd=tf.add(data1,data2)
datacopy=tf.assign(data2,dataadd)
datamul=tf.multiply(data1, data2)
datasub=tf.subtract(data1, data2)
datadiv=tf.divide(data1,data2)
init=tf.global_variables_initializer()
'''变量的初始化'''
with tf.Session() as sess:
    sess.run(init)
    #运行起来init 才能使用
    print(sess.run(dataadd))
    print(sess.run(datasub))
    print(sess.run(datamul)) 
    print(sess.run(datadiv))
    print('sess.run(datacopy)',sess.run(datacopy)) #  8->  data2
    print('datacopy.eval()',datacopy.eval())   #data2 =8   data2+data1=14
    print('tf.get_default_session()',tf.get_default_session().run(datacopy)) #data2=14  data2+data1=20
#   .eval  相当于 tf.get_default_session()

output:
8
4
12
3.0
sess.run(datacopy) 8
datacopy.eval() 14
tf.get_default_session() 20

猜你喜欢

转载自blog.csdn.net/wo164683812/article/details/80295235