2017-02-15 30 views
15

Widziałem ludzi używających kilku funkcji od tf.gfile, takich jak tf.gfile.GFile lub tf.gfile.Exists. Mam pomysł, że tf.gfile zajmuje się plikami. Jednak nie udało mi się znaleźć oficjalnej dokumentacji, aby zobaczyć, co jeszcze oferuje.Co robi tf.gfile w TensorFlow?

Byłoby wspaniale, gdybyś mi pomógł.

Odpowiedz

2

Jak poprawnie wskazano, tf.gfile jest abstrakcją dostępu do systemu plików i jest udokumentowane here. Zalecane jest używanie API zwykłego Pythona, ponieważ zapewnia on pewien poziom przenośności.

+0

Nadal nie rozumiem. Nie możesz użyć 'with open (file_name, 'w') jako f:'? Co masz na myśli przez pewien poziom przenośności? – Chaine

20

Na każdy lądowania tutaj następującą odpowiedź dostarczono (przez Googler) na: Why use tensorflow gfile? (for file I/O)

głównych ról modułu tf.gfile są:

  1. Aby zapewnić API w pobliżu obiektów plików Pythona i

  2. Aby zapewnić implementację opartą na C++ FileSystem API TensorFlow.

C++ FileSystem API obsługuje wiele implementacji systemu plików, tym lokalnych plików, Google Cloud Storage (stosując gs:// prefiks), i HDFS (przy użyciu hdfs:// prefiks). TensorFlow eksportuje je jako tf.gfile, dzięki czemu można użyć tych implementacji do zapisywania i ładowania punktów kontrolnych, pisania dzienników TensorBoard i uzyskiwania dostępu do danych treningowych (wśród innych zastosowań). Jeśli jednak wszystkie pliki są lokalne, użytkownik może bez problemu używać zwykłego interfejsu API pliku Python.

+0

Nadal nie rozumiem. Nie możesz użyć 'open (file_name, 'w') jako f:'? – Chaine

+2

@ChaineSanBuenaventura, tak, możesz. gfile jest wymagany tylko wtedy, gdy chcesz używać mniej zinterpretowanego systemu plików, takiego jak "Google Cloud Storage" – yuval