Tensorflow基础
一、基础概念
TensorFlow是一种采用数据流图(data flow graphs),用于数值计算的开源软件库。其中 Tensor 代表传递的数据为张量(多维数组),Flow 代表使用计算图进行运算。数据流图用「结点」(nodes)和「边」(edges)组成的有向图来描述数学运算。「结点」一般用来表示施加的数学操作,但也可以表示数据输入的起点和输出的终点,或者是读取/写入持久变量(persistent variable)的终点。边表示结点之间的输入/输出关系。这些数据边可以传送维度可动态调整的多维数据数组,即张量(tensor)。
二、特点
在 Tensorflow 中,所有不同的变量和运算都是储存在计算图。所以在我们构建完模型所需要的图之后,还需要打开一个会(Session)来运行整个计算图。在会话中,我们可以将所有计算分配到可用的 CPU 和 GPU 资源中。像下面的没有打开回话的代码,运行的话不会输出任何东西。也就是说我们定义的每个变量都是一个tensor ,都需要在session中进行计算,这个计算包括
赋值,以及四则运算。不通过session会话运算我们什么都不会得到。
import tensorflow as tf
sess = tf.Session()
con1 = tf.constant('hello tf!!!',tf.string) #字符串常量
print(con1)
只有通过session会话计算之后才可以输出
import tensorflow as tf
'''输出都要靠session来实现'''
sess = tf.Session()
con1 = tf.constant('hello tf!!!',tf.string) #字符串常量
print(sess.run(con1))
输出:
三、变量和常量
tips:要注意的是使用tensorflow的变量时要先进行初始化,不然会报错
import tensorflow as tf
'''输出都要靠session来实现'''
sess = tf.Session()
'''常量'''
con1 = tf.constant('hello tf!!!',tf.string) #字符串常量
con2 = tf.constant(2.5,tf.float32)#浮点型常量
con3 = tf.constant(2,tf.int32)#int 型常量
'''变量 '''
var = tf.Variable(10,tf.int32)
'''要注意tf中的变量必须要初始化才可以使用'''
init = tf.global_variables_initializer()
with sess:#这样写就可以省去sess.close()语句 会自动关闭session
sess.run(init)
'''打印变量'''
print(sess.run(con1))
print(sess.run(con2))
print(sess.run(con3))
print(sess.run(var))
输出:
b'hello tf!!!'
2.5
2
10
四、变量常量之间的简单运算:
import tensorflow as tf
data1 = tf.constant(6)
data2 = tf.Variable(2)
dataAdd = tf.add(data1,data2)
dataCopy = tf.assign(data2,dataAdd)#将dataAdd的值赋给data2 然后此时的data2就是dataCopy
dataSub = tf.subtract(data1,data2)
dataMul = tf.multiply(data1,data2)
dataDiv = tf.divide(data1,data2)
'''有变量的情况下 要对变量进行初始化'''
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
print(sess.run(dataAdd))
print(sess.run(dataSub))
print(sess.run(dataMul))
print(sess.run(dataDiv))
print('dataCopy',sess.run(dataCopy))
输出:
8
4
12
3.0
dataCopy 8
还没有评论,来说两句吧...