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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值