Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why use tensorflow gfile? (for file I/O)

Tensorflow code uses methods for file I/O that are different than python builtin methods. According to the source code, it is useful as

"File I/O wrappers without thread locking"

I am not sure on what occasions it is useful and when it shouldn't be used.

Any idea?

Thank you

like image 892
Yuval Atzmon Avatar asked Mar 21 '17 09:03

Yuval Atzmon


1 Answers

This comment:

File I/O wrappers without thread locking

...is a particularly unhelpful description for TensorFlow's tf.gfile module!

The main roles of the tf.gfile module are:

  1. To provide an API that is close to Python's file objects, and
  2. To provide an implementation based on TensorFlow's C++ FileSystem API.

The C++ FileSystem API supports multiple file system implementations, including local files, Google Cloud Storage (using a gs:// prefix), and HDFS (using an hdfs:// prefix). TensorFlow exports these as tf.gfile so that you can uses these implementations for saving and loading checkpoints, writing TensorBoard logs, and accessing training data (among other uses). However, if all of your files are local, you can use the regular Python file API without any problem.

like image 180
mrry Avatar answered Oct 25 '22 03:10

mrry