TensorFlow讀取器基類:tf.ReaderBase

2018-12-01 11:31 更新
tf.ReaderBase 函數(shù)

ReaderBase 類

定義在:tensorflow/python/ops/io_ops.py

請參閱指南:輸入和讀取器>讀取器

用于不同讀取器類型的基類,每個步驟生成一條記錄.
從概念上講,讀取器將字符串 "work units" 轉(zhuǎn)換為 records (key, value pairs).通常,"work units" 是文件名,從這些文件的內(nèi)容中提取記錄.我們希望每步生成一條記錄, 但是一個 work units 可以對應(yīng)許多條記錄.
因此, 我們引入了一些使用隊(duì)列的解耦.當(dāng)請求生成記錄(通過Read())時,隊(duì)列包含 work units 和從隊(duì)列中取出的讀取器,但它已完成了最后一個工作單元.

屬性

  • reader_ref
    操作,實(shí)現(xiàn)讀者.
  • supports_serialize
    讀者實(shí)現(xiàn)是否可以序列化其狀態(tài).

方法

__init__

__init__(
    reader_ref,
    supports_serialize=False
)

創(chuàng)建一個新的 ReaderBase.

參數(shù):

  • reader_ref:實(shí)現(xiàn)讀取器的操作.
  • supports_serialize:如果讀取器實(shí)現(xiàn)可以序列化其狀態(tài),則為 true.

num_records_produced

num_records_produced(name=None)

返回此讀取器生成的記錄數(shù).
這與已成功讀取的執(zhí)行次數(shù)相同.

參數(shù):

  • name:操作的名稱(可選).

返回:

一個 Int64 類型的張量.

num_work_units_completed

num_work_units_completed(name=None)

返回此讀取器已完成處理的工作單元數(shù).

參數(shù):

  • name:操作的名稱(可選).

返回:

一個 Int64 類型的張量.

read

read(
    queue,
    name=None
)

返回讀取器生成的下一條記錄(鍵,值)【record (key, value)】對.

如果需要,將從隊(duì)列中取出一個工作單元(例如,當(dāng)讀取器需要從一個新文件開始讀取,因?yàn)樗呀?jīng)完成了前一個文件).

參數(shù):

  • queue:一個隊(duì)列或一個可變的字符串張量,表示隊(duì)列的句柄,帶有字符串工作項(xiàng).
  • name:操作的名稱(可選).

返回:

張量(key, value)元組.key:一個字符串標(biāo)量張量.value:一個字符串標(biāo)量張量.

read_up_to

read_up_to(
    queue,
    num_records,
    name=None
)

返回由讀取器生成的 num_records(key,value)對.

如果需要的話,會從隊(duì)列中取出一個工作單元(例如,Reader 需要從一個新文件開始讀取,因?yàn)樗呀?jīng)完成了前一個文件).即使在最后一批之前,它也可能比 num_records 返回的少.

參數(shù):

  • queue:一個隊(duì)列或一個可變的字符串張量,表示隊(duì)列的句柄,帶有字符串工作項(xiàng).
  • num_records:要讀取的記錄數(shù).
  • name:操作的名稱(可選).

返回:

張量(key, value)元組.key:一個一維的字符串張量.value:一個一維的字符串張量.

reset

reset(name=None)

將讀取器恢復(fù)到初始狀態(tài).

參數(shù):

  • name:操作的名稱(可選).

返回:

創(chuàng)建的操作.

restore_state

restore_state(
    state,
    name=None
)

將讀取器還原到以前保存的狀態(tài).

并非所有的讀取器都支持還原,所以這可能會產(chǎn)生一個未實(shí)現(xiàn)的錯誤.

參數(shù):

  • state:一個字符串張量.與讀取器的 SerializeState 類型匹配的結(jié)果.
  • name:操作的名稱(可選).

返回:

創(chuàng)建的操作.

serialize_state

serialize_state(name=None)

產(chǎn)生一個字符串張量用來編碼讀取器的狀態(tài).

不是所有的讀取器都支持序列化,所以這可能會產(chǎn)生一個未實(shí)現(xiàn)的錯誤.

參數(shù):

  • name:操作的名稱(可選).

返回:

一個字符串張量.

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號