TensorFlow简要教程系列(二)TensorFlow基本操作


本节我们介绍TensorFlow的基本操作,对于入门的话我们需要掌握TensorFlow的四种重要类型和三个重要函数。我们会在下面结合代码一一介绍。


一、基本类型和函数

TensorFlow的四种重要类型分别为:

@Variable 计算图谱的变量

@Tensor   一个多维矩阵,带有很多方法

@Graph 一个计算图谱

@Session 用来运行一个计算图谱


TensorFlow的三个重要函数分别为 Variable(变量), Constant(常量), Placeholder(暂时变量)。

注意点

1. Variable是一个class

2. Constant 返回的是:a constant @Tensor

3. Placeholder 返回的是一个尚未存在的@Tensor,需要在Session 执行时获得。


我们会在下面操作中结合代码具体介绍基本类型和函数的用法。


二、基本操作

首先我们用计算图谱来实现一些简单函数。我们在#后进行文字讲解,方便大家操作代码,当然鼓励大家自己手敲代码进行熟悉。


#首先我们引入tensorflow
import tensorflow as tf


#我们定义一个基本函数运算函数,加法运算
def basic_operation():
    v1 = tf.Variable(10)    #定义Variable变量
    v2 = tf.Variable(5)
    s = v1 + v2
    print(s)
#运行basic_operation()你会发现不是15。。。。what? 
#这里我们介绍下session, session是用来计算的实例,我们需要先定义一个session,将它初始化,再进行赋值,方法如下:
    sess = tf.Session()     #定义一个session
    tf.global_variables_initializer().run(session = sess)#进行初始化
    print('变量是需要初始化的')
    print('v1+v2 = ', s.eval(session = sess)) #打印输出,s.eval() 用来计算括号里的session,也可以用.run()实现,如下句代码所示
 # print('v1+v2 = ', sess.run(s))

#这样你就会发现结果果然是15了。
#这种先定义再操作的方式称为符号式编程(symbolic programing)。



现在我们用graph进行操作

graph = tf.Graph() #定义一个graph
with graph.as_default():  #这个graph是我们默认的
    value1 = tf.constant([1,2]) #定义一个常量
    value2 = tf.Variable([3,4]) #定义一个变量
    mul = value1 * value2 #对应相乘
    
with tf.Session(graph = graph) as mySess:
    tf.global_variables_initializer().run()   #因为在with在面,不用run(session = mySess),直接run()就行
    print(mySess.run(mul))
#这样就得到输出[3, 8]



最后我们介绍Placeholder,Placeholder对省内存非常有效。

要给结点输入数据时用placeholder,在Tensorflow中用placeholder来描述等待输入的结点,只需要指定类型即可,然后在执行结点的时候用一个字典来“喂”这些结点。相当于先把变量hold住,然后每次从外部传入data,注意placeholder和feed_dict是绑定使用的。

简单介绍下feed机制,给feed提供数据,作为run()调用的参数,feed只在调用它的方法内有效,调用结束, feed消失。


import tensorflow as tf


input1 = tf.placeholder(tf.float32) #定义placeholder,默认是int32型
input2 = tf.placeholder(tf.float32)
ouput = input1 * input2


with tf.Session() as sess:
  print(sess.run(ouput, feed_dict={input1: [7.], input2: [2.]}))
#这样,你就会看到输出为[14.]


本节基本操作就介绍到这里,具体使用特性在后续及实战中会更好的体会。接下来我们将介绍利用TensorFlow进行机器学习和深度学习,从数据处理到网络建立再到实战应用。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值