將記錄寫入 TFRecords 文件的類。
用法
tf.io.TFRecordWriter(
path, options=None
)
參數
-
path
TFRecords 文件的路徑。 -
options
(可選)指定壓縮類型、TFRecordCompressionType
或TFRecordOptions
對象的字符串。
拋出
-
IOError
如果path
無法打開寫入。 -
ValueError
如果無法從options
確定有效的 compression_type 。
TFRecords 是一種二進製格式,針對高吞吐量數據檢索進行了優化,通常與 tf.data
結合使用。 TFRecordWriter
用於將序列化的示例寫入文件以供以後使用。關鍵步驟是:
提前時間:
- 將數據轉換為序列化格式
-
在訓練或評估期間:
下麵給出了一個最小的例子:
import tempfile
example_path = os.path.join(tempfile.gettempdir(), "example.tfrecords")
np.random.seed(0)
# Write the records to a file.
with tf.io.TFRecordWriter(example_path) as file_writer:
for _ in range(4):
x, y = np.random.random(), np.random.random()
record_bytes = tf.train.Example(features=tf.train.Features(feature={
"x":tf.train.Feature(float_list=tf.train.FloatList(value=[x])),
"y":tf.train.Feature(float_list=tf.train.FloatList(value=[y])),
})).SerializeToString()
file_writer.write(record_bytes)
# Read the data back out.
def decode_fn(record_bytes):
return tf.io.parse_single_example(
# Data
record_bytes,
# Schema
{"x":tf.io.FixedLenFeature([], dtype=tf.float32),
"y":tf.io.FixedLenFeature([], dtype=tf.float32)}
)
for batch in tf.data.TFRecordDataset([example_path]).map(decode_fn):
print("x = {x:.4f}, y = {y:.4f}".format(**batch))
x = 0.5488, y = 0.7152
x = 0.6028, y = 0.5449
x = 0.4237, y = 0.6459
x = 0.4376, y = 0.8918
此類實現 __enter__
和 __exit__
,並且可以像普通文件一樣在 with
塊中使用。 (參見上麵的使用示例。)
相關用法
- Python tf.io.TFRecordOptions.get_compression_type_string用法及代碼示例
- Python tf.io.gfile.GFile.close用法及代碼示例
- Python tf.io.gfile.join用法及代碼示例
- Python tf.io.parse_example用法及代碼示例
- Python tf.io.gfile.exists用法及代碼示例
- Python tf.io.serialize_tensor用法及代碼示例
- Python tf.io.gfile.GFile用法及代碼示例
- Python tf.io.SparseFeature用法及代碼示例
- Python tf.io.gfile.copy用法及代碼示例
- Python tf.io.gfile.glob用法及代碼示例
- Python tf.io.decode_json_example用法及代碼示例
- Python tf.io.decode_gif用法及代碼示例
- Python tf.io.decode_raw用法及代碼示例
- Python tf.io.RaggedFeature用法及代碼示例
- Python tf.io.read_file用法及代碼示例
- Python tf.io.deserialize_many_sparse用法及代碼示例
- Python tf.io.write_graph用法及代碼示例
- Python tf.io.decode_proto用法及代碼示例
- Python tf.image.random_brightness用法及代碼示例
- Python tf.image.pad_to_bounding_box用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.io.TFRecordWriter。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。