Tensorflow基础

红太狼 2022-01-27 06:59 338阅读 0赞

一、基础概念

TensorFlow是一种采用数据流图(data flow graphs),用于数值计算的开源软件库。其中 Tensor 代表传递的数据为张量(多维数组),Flow 代表使用计算图进行运算。数据流图用「结点」(nodes)和「边」(edges)组成的有向图来描述数学运算。「结点」一般用来表示施加的数学操作,但也可以表示数据输入的起点和输出的终点,或者是读取/写入持久变量(persistent variable)的终点。边表示结点之间的输入/输出关系。这些数据边可以传送维度可动态调整的多维数据数组,即张量(tensor)。

二、特点

在 Tensorflow 中,所有不同的变量和运算都是储存在计算图。所以在我们构建完模型所需要的图之后,还需要打开一个会(Session)来运行整个计算图。在会话中,我们可以将所有计算分配到可用的 CPU 和 GPU 资源中。像下面的没有打开回话的代码,运行的话不会输出任何东西。也就是说我们定义的每个变量都是一个tensor ,都需要在session中进行计算,这个计算包括

赋值,以及四则运算。不通过session会话运算我们什么都不会得到。

  1. import tensorflow as tf
  2. sess = tf.Session()
  3. con1 = tf.constant('hello tf!!!',tf.string) #字符串常量
  4. print(con1)

只有通过session会话计算之后才可以输出

  1. import tensorflow as tf
  2. '''输出都要靠session来实现'''
  3. sess = tf.Session()
  4. con1 = tf.constant('hello tf!!!',tf.string) #字符串常量
  5. print(sess.run(con1))

输出:

20190525195940619.PNG

三、变量和常量

tips:要注意的是使用tensorflow的变量时要先进行初始化,不然会报错

  1. import tensorflow as tf
  2. '''输出都要靠session来实现'''
  3. sess = tf.Session()
  4. '''常量'''
  5. con1 = tf.constant('hello tf!!!',tf.string) #字符串常量
  6. con2 = tf.constant(2.5,tf.float32)#浮点型常量
  7. con3 = tf.constant(2,tf.int32)#int 型常量
  8. '''变量 '''
  9. var = tf.Variable(10,tf.int32)
  10. '''要注意tf中的变量必须要初始化才可以使用'''
  11. init = tf.global_variables_initializer()
  12. with sess:#这样写就可以省去sess.close()语句 会自动关闭session
  13. sess.run(init)
  14. '''打印变量'''
  15. print(sess.run(con1))
  16. print(sess.run(con2))
  17. print(sess.run(con3))
  18. print(sess.run(var))

输出:

  1. b'hello tf!!!'
  2. 2.5
  3. 2
  4. 10

四、变量常量之间的简单运算:

  1. import tensorflow as tf
  2. data1 = tf.constant(6)
  3. data2 = tf.Variable(2)
  4. dataAdd = tf.add(data1,data2)
  5. dataCopy = tf.assign(data2,dataAdd)#将dataAdd的值赋给data2 然后此时的data2就是dataCopy
  6. dataSub = tf.subtract(data1,data2)
  7. dataMul = tf.multiply(data1,data2)
  8. dataDiv = tf.divide(data1,data2)
  9. '''有变量的情况下 要对变量进行初始化'''
  10. init = tf.global_variables_initializer()
  11. with tf.Session() as sess:
  12. sess.run(init)
  13. print(sess.run(dataAdd))
  14. print(sess.run(dataSub))
  15. print(sess.run(dataMul))
  16. print(sess.run(dataDiv))
  17. print('dataCopy',sess.run(dataCopy))

输出:

  1. 8
  2. 4
  3. 12
  4. 3.0
  5. dataCopy 8

发表评论

表情:
评论列表 (有 0 条评论,338人围观)

还没有评论,来说两句吧...

相关阅读

    相关 TensorFlow基础

    深度学习在模式识别方向,尤其是在图像、声音、语音、语言和时间序列数据上表现出色。运用深度学习,你可以对数据进行分类、预测、聚类以及特征提取。2015年11月,谷歌发布了Tens

    相关 TensorFlow基础概念

    首先祝自己生日快乐!! 趁着大学最后的一点时间学习一点新的东西,希望自己能坚持下去。 这里记录一点这几天学习中记录下的一些概念以及注意点。 基础概念 计算图(g

    相关 Tensorflow基础

    一、基础概念 TensorFlow是一种采用数据流图(data flow graphs),用于数值计算的开源软件库。其中 Tensor 代表传递的数据为张量(多维数组),