将记录写入 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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。