Tensorflow--tf.FIFOQueue详解

本文详细介绍了Tensorflow中的tf.FIFOQueue,包括其描述、初始化、属性、方法及使用示例。tf.FIFOQueue遵循先进先出原则,是张量处理的重要数据结构,支持异步操作,并可用于创建队列来管理数据的输入输出。
摘要由CSDN通过智能技术生成

Tensorflow–tf.FIFOQueue详解

描述

tf.FIFOQueue根据先进先出(FIFO)的原则创建一个队列。队列是Tensorflow的一种数据结构,每个队列的元素都是包含一个或多个张量的元组,每个元组都有静态的类型和尺寸。入列和出列可以支持一次一个元素,或一次一批元素。它继承于Tensorflow队列执行的基类tf.QueueBase。队列是Tensorflow计算图异步处理张量的重要对象。

初始化

init

__init__(
    capacity,
    dtypes,
    shapes=None,
    names=None,
    shared_name=None,
    name='fifo_queue'
)

创建一个队列元素按照先进先出的顺序出列的队列。

属性

  • capacity
    整形数字,标识队列可以存储的元素的最大数量
  • dtypes
    一个Dtype对象的列表,长度等于队列元素中的张量个数
  • shapes
    队列元素中的每个组成部分的尺寸对象组成的列表
  • name
    队列操作的命名
  • shared_name
    队列在不同session共享时使用的名称
  • names
    队列元素中的每个组成部分的命名组成的列表

方法

  • close
 close(
    cancel_pending_enqueues=False,
    name=None
)

此方法用来关闭队列,标示没有元素再入列,如果队列中还有元素,则出列操作可以执行,否则会失败。
参数:
cancel_pending_enqueues: 可选,boolean类型,默认False,为True的时候,挂起的请求将被取消;
name:可选,队列操作的名称
返回:
返回队列的关闭操作

  • dequeue
 dequeue(name=None)

从队列中移出一个元素。当队列为空的时候,将会阻止此操作,直到有一个元素可以出列。
队列关闭的情况下,操作会报错。如果队列为空且没有入列操作可执行,则报 tf.errors.OutOfRangeError错误。 如果执行此操作的session关闭, 将报tf.errors.CancelledError错误。
参数:
name:可选,队列操作的名称
返回:
返回包含出列张量的元组

  • dequeue_many
 dequeue_many(
    n,
    name=None
)

将n个元素连接到一起移出队列。本操作会将张量的第0维连接到一起形成一个张量出列,所以所有出列的元素组成的元组的第0维的尺寸为n。
如果队列已经关闭,或是队列中剩余

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值