Google ML-двигатель облачного хранилища в виде файла - PullRequest
1 голос
/ 13 марта 2019

Я работаю в Python с Google Cloud ML-Engine. В документации, которую я нашел, указано, что хранение данных должно выполняться с помощью Buckets and Blobs

https://cloud.google.com/ml-engine/docs/tensorflow/working-with-cloud-storage

Однако большая часть моего кода и вызываемых им библиотек работает с файлами. Можно ли как-то трактовать Google Storage как файловую систему в коде ml-engine?

Я хочу, чтобы мой код читался как

with open(<something>) as f:
   for line in f:
      dosomething(line)

Обратите внимание, что в ml-engine не создаются и не настраиваются экземпляры виртуальных машин. Поэтому я не могу смонтировать собственную файловую систему с помощью Filestore.

Ответы [ 2 ]

2 голосов
/ 14 марта 2019

Для тех, кто придет, вот ответ

Проблемы Google Cloud ML и GCS Bucket

from tensorflow.python.lib.io import file_io

Вот пример

with file_io.FileIO("gc://bucket_name/foobar.txt","w") as f:
    f.write("FOO")
    f.flush()
    print("Write foobar.txt")

with file_io.FileIO("gc://bucket_name/foobar.txt","r") as f:
    for line in f:
        print("Read foobar.txt: "+line)
2 голосов
/ 14 марта 2019

Единственный способ заставить Cloud Storage отображаться как файловую систему - это монтировать корзину как файловую систему :

Вы можете использовать Google Cloud Storage FUSE инструмент для установки хранилища Cloud Storage в ваш экземпляр Compute Engine.Смонтированное ведро ведет себя подобно постоянному диску , даже если хранилища Cloud Storage являются объектным хранилищем.

Но вы не сможете этого сделать, если не можете создавать и настраивать виртуальные машины.

Обратите внимание, что в ml-engine не создаются и не настраиваются экземпляры виртуальных машин.

Это не совсем так.Я вижу, что ML Engine поддерживает создание пользовательских контейнеров , что, как правило, позволяет устанавливать и настраивать зависимости на уровне ОС.Но только для области обучения, поэтому, если ваши потребности в этой области, возможно, стоит попробовать.

Я предполагаю, что вы уже проверили, что библиотека не поддерживает доступ через уже открытый файловый обработчик (если нет, то может быть интересен Как восстановить модель Tensorflow из корзины Google без записи в файловую систему? )

...