深度学习基础之《TensorFlow框架(4)—Operation》

本文详细介绍了TensorFlow中的常见操作类型,如标量、向量和矩阵运算,以及神经网络组件。重点阐述了操作函数与操作对象的区别,强调了指令名称在TensorFlow图中的重要性,包括自动生成的唯一名称和用户指定的描述性名称。
摘要由CSDN通过智能技术生成

一、常见的OP

1、举例

类型实例
标量运算add,sub,mul,div,exp,log,greater,less,equal
向量运算concat,slice,splot,canstant,rank,shape,shuffle
矩阵运算matmul,matrixinverse,matrixdateminant
带状态的运算variable,assgin,assginadd
神经网络组件softmax,sigmoid,relu,convolution,max_pool
存储、恢复save,restore
队列及同步运算enqueue,dequeue,mutexAcquire,mutexRelease
控制流merge,switch,enter,leave,nextIteration

二、什么是操作函数和操作对象

1、说明
(1)一个操作对象(Operation)是TensorFlow图中的一个节点,可以接收0个或者多个输入Tensor,并且可以输出0个或者多个Tensor,Operation对象是通过op构造函数(如tf.matmul())创建的
(2)例如c = tf.matmul(a, b)创建了一个Operation对象,类型为MatMul类型,它将张量a、b作为输入,c作为输出
(3)其中tf.matmul()是函数,在执行matmul函数的过程中会通过MatMul类型创建一个与之对应的对象

2、前一篇图例中有Const和Const_1就是tf.constant()生成的操作对象

这个操作对象输入的是Tensor对象,输出的也是Tensor对象
相当于前面机器学习的实例化一个预估器对象,操作函数实例化了一个操作对象,然后操作对象输入对象转变为输出对象

3、可以理解为操作函数都会产生一个操作对象,通过对象对参数进行处理

三、打印语句

1、语句类似于
Tensor("Const:0", shape=(), dtype=int32)
Tensor("Const_1:0", shape=(), dtype=int32)
打印返回的都是Tensor对象,而不是看到操作

2、指令名称
Tensor分成三个部分,其中“Const:0”、“Const_1:0”告诉我们这个Tensor对象是由哪一个操作产生的,称为指令名称!

3、打印出来的是张量值,可以理解成Operation中包含了这个值

4、每一个Operation指令都对应一个唯一的名称,如Count:0

5、tf.Tensor输出该张量的名称的形式为<OP_NAME>:<i>,其中
<OP_NAME>:是生成该张量的指令的名称
<i>:是一个整数,它表示该张量在指令的输出中的索引

四、指令名称

1、tf.Graph对象为其包含的tf.Operation对象定义了一个命名空间
一张图一个命名空间

2、TensorFlow会自动为图中的每个指令选择一个唯一名称,用户也可以指定描述性名称,是程序阅读起来更轻松

3、改写指令名称
每个创建新的tf.Operation或返回新的tf.Tensor的API函数可以接受可选的name参数

4、例子
tf.constant(42, name="answer")
创建了一个名称为answer的新tf.Operation并返回一个名为answer:0的tf.Tensor。如果默认图已包含名为answer的指令,则TensorFlow会在名称上附加1、2等字符,以便让名称具有唯一性
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值