TensorFlow笔记——OP

  • 前言

tensorflow是一个符号式编程框架,需要定义graph,然后用一个session来运行这个graph得到结果

在graph中,我们需要定义数据和操作

其中,数据就是Tensor对象;而操作就是Operation对象,简称OP

记住这两点

  • 常见OP

                              TensorFlow笔记——OP_第1张图片

区分一下操作函数操作对象

先举个例子:

import tensorflow as tf 

def op_demo():

    a = tf.constant(5)
    print("a:\n",a)

    return None

if __name__ == "__main__":
    op_demo()

在上述程序中:

a = tf.constant(5)

tf.constant()是操作函数,该函数所做的是创建一个常数

上述程序的输出结果:

a:
 Tensor("Const:0", shape=(), dtype=int32)

其中的Const就是一个操作对象

那操作函数和操作对象之间有什么联系呢?

在调用操作函数时,如上面的tf.constant(),一般会传入Tensor对象(数据),如上面的5

在调用操作函数的过程中,会生成一个操作对象,如上面的Const

一个操作对象是TensorFlow图中的一个节点,可以接受0个或多个输入Tensor对象,并且可以输出0个或多个Tensor对象

拿上面的例子来说的话,Const接受了5这个Tensor对象,然后输出了5这个Tensor对象。

赋值可能不太好理解,以加法为例

import tensorflow as tf

a = tf.constant(5)
b = tf.constant(6)
c = tf.add(a,b)

print("a:\n",a)
print("b:\n",b)
print("c:\n",c)
    

tf.add(5,6)创建了一个操作对象Add,操作对象Add的输入为5,6,经过加法操作之后,Add这个对象输出为11,通过tf.add()这个操作函数返回看下程序输出结果:

a:
 Tensor("Const:0", shape=(), dtype=int32)
b:
 Tensor("Const_1:0", shape=(), dtype=int32)
c:
 Tensor("Add:0", shape=(), dtype=int32)

操作对象是通过操作函数产生

注意,打印出来的是张量值,可以理解为OP中包含了这个值,并且每一个OP指令都对应一个唯一的名称,如上面的Const,Const_1

 

 

你可能感兴趣的:(tensorflow)