tensorflow随笔-reader(1)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010255642/article/details/82753713

tf.ReaderBase

Class ReaderBase

为不同阅读器类型生成记录的基类。

从概念上讲,Reader (阅读器)将字符串“work units”(“工作单元”)转换为records (key, value pairs)(记录(键、值对))。通常“工作单元”是文件名,记录从这些文件的内容中提取。我们希望每个步骤产生一个记录,但是工作单元可以对应许多记录。

因此,我们使用队列引入一些解耦。当请求产生一条记录(比如Read()),但它已经完成了最后一个工作单元时,队列包含“工作单元”,且Reader从队列出列

属性

reader_ref

实现阅读器的操作。

supports_serialize

阅读器实现是否可以序列化其状态。

方法

__init__

__init__(
reader_ref,
supports_serialize = False
)
创建一个新的ReaderBase

参数:

reader_ref:实现阅读器的操作。
supports_serialize:如果阅读器实现可以序列化其状态,则为真。

抛出:

运行时错误:如果启动执行。
 

num_records_produced

num_records_produced(name=None)

返回此阅读器生成的记录的数量。这与已成功执行的读执行次数相同。

参数:

name: 操作的名称(可选)。
返回:

一个int64张量。

num_work_units_completed

num_work_units_completed(name =None)
返回此阅读器已完成处理的工作单元数。

参数:

name: 操作的名称(可选)。
返回:

一个int64张量。

read

read(
    queue,
    name=None
)

返回阅读器生成的下一个record (key, value)(记录(键,值))对。

如果需要,将工作单元从队列中取出(例如,当读取器需要从一个新文件开始读取,而它已经完成了前一个文件)。

参数:

queue: :表示队列句柄的队列或可变字符串张量,带有字符串工作项。
name:操作的名称(可选)。
返回:

Tensors元组 (key, value).。

* key: 一个字符串标量张量。

 * value: 一个字符串标量张量。

read_up_to

read_up_to(
    queue,
    num_records,
    name=None
)

返回由阅读器生成的num_records(key, value)对。

如果需要,将工作单元从队列中取出(例如,当读取器需要从一个新文件开始读取时,因为它已经完成了前一个文件)。甚至在最后一批之前,它可能返回小于num_records的结果。

参数:

queue:表示队列句柄的队列或可变字符串张量,带有字符串工作项。
num_records:要读取的记录数量。
name:操作的名称(可选)。

返回:

张量元组(keys, values)

* keys:一个一维字符串张量。

* values:一维字符串张量。

reset

reset(name=None)

将阅读器恢复到初始的清洁状态。

参数:

name:操作的名称(可选)。
返回:

创建操作。

restore_state

restore_state(
    state,
    name=None
)

将读取器恢复到先前保存的状态。

并不是所有的阅读器都支持被还原,因此这会产生一个未实现的错误。

参数:

状态:字符串张量。匹配类型的阅读器的序列化状态的结果。
名称:操作的名称(可选)。
返回:

创建的操作。

serialize_state

serialize_state(name=None)

生成一个字符串张量来编码读取器的状态。

并不是所有的阅读器都支持序列化,因此这会产生未实现的错误。

参数:

名称:操作的名称(可选)。
返回:

一个字符串张量。

猜你喜欢

转载自blog.csdn.net/u010255642/article/details/82753713