TFRecordOptions 的参数实际上意味着什么(wrt tf.io.TFRecordWriter)?

What do the arguments for TFRecordOptions actually mean (wrt tf.io.TFRecordWriter)?

我将一些相当大的 Pandas 数据帧导出为 Tensorflow 的序列化格式。我经常这样做,而且速度非常慢。这可能是因为我必须序列化单个示例 idk。另外,我使用“GZIP”选项压缩文件。

我在文档中找到了 TFRecordWriter 的一些选项,它们看起来可能有所帮助(缓冲区帮助,对吧?)。 但是没有解释 input_buffer_size 的作用或值可能采用的范围。是 {0, 1, 2, 3} 还是几百万?还是我想要 output_buffer_sizemem_level 或其他东西?

来自Tensorflow 2.5 documentation

Args
compression_type        "GZIP", "ZLIB", or "" (no compression).
flush_mode              flush mode or None, Default: Z_NO_FLUSH.
input_buffer_size       int or None.
output_buffer_size      int or None.
window_bits             int or None.
compression_level       0 to 9, or None.
compression_method      compression method or None.
mem_level               1 to 9, or None.
compression_strategy    strategy or None. Default: Z_DEFAULT_STRATEGY.

tf_record.py中给出了一些描述。这将指向 zlib 库,它提供了一些更完整的信息。

遗憾的是,文本在 __init__() 方法中,因此似乎没有出现在 Tensorflow 自动文档中

我不会 post 一个“答案”,因为一旦找到 link 阅读评论就很容易,而且它们将比我写的任何东西都更准确。

请注意,*_buffer_size 的默认值为 25,600。