【问题标题】:What does tf.gfile do in TensorFlow?tf.gfile 在 TensorFlow 中做了什么?
【发布时间】:2017-07-04 13:26:32
【问题描述】:

我见过有人使用tf.gfile 的多个函数,例如tf.gfile.GFiletf.gfile.Exists。我的想法是tf.gfile 处理文件。但是,我无法找到官方文档来查看它还提供了什么。

如果你能帮我解决,那就太好了。

【问题讨论】:

    标签: python tensorflow


    【解决方案1】:

    对于登陆这里的任何人,以下答案(由 googler 提供):Why use tensorflow gfile? (for file I/O)

    tf.gfile 模块的主要作用有:

    1. 提供接近 Python 文件对象的 API,以及

    2. 提供基于 TensorFlow 的 C++ FileSystem API 的实现。

    C++ FileSystem API 支持多种文件系统实现, 包括本地文件、Google Cloud Storage(使用 gs:// 前缀)、 和 HDFS(使用 hdfs:// 前缀)。 TensorFlow 将这些导出为 tf.gfile,以便您可以使用这些实现来保存和 加载检查点、编写 TensorBoard 日志和访问训练 数据(以及其他用途)。但是,如果您的所有文件都是本地文件,则您 可以毫无问题地使用常规的 Python 文件 API。

    【讨论】:

    • 我还是不明白。你不能只用open(file_name, 'w') as f:吗?
    • @ChaineSanBuenaventura,是的,你可以。仅当您想使用不太常见的文件系统时才需要 gfile,例如“谷歌云存储”
    • @Chaine 我认为如果您想在本地调试模型并在云上训练它,使用 tf.gfile 会容易得多。然后,您不必更改一行。
    • @YuvalAtzmon :所以,如果我想使用 HDFS 进行并行化,那么我必须将 tf.gfile 与 tensorflow 一起使用,这是正确的,也可以将 Google Cloud Storage 与 tensorflow 一起使用。
    【解决方案2】:

    正如您正确指出的那样,tf.gfile 是访问文件系统的抽象,并记录在 here 中。建议不要使用普通的 python API,因为它提供了一定程度的可移植性。

    【讨论】:

    • 我还是不明白。你不能只用with open(file_name, 'w') as f:吗?某种程度的可移植性是什么意思?
    • 根据您的使用情况,相关文档实际上可能位于tf.io.gfile
    猜你喜欢
    • 2016-04-09
    • 1970-01-01
    • 2020-12-09
    • 2023-03-24
    • 2018-08-19
    • 2014-08-03
    • 2012-02-12
    • 2010-10-26
    • 2019-07-12
    相关资源
    最近更新 更多