ML Engine: самый простой способ получить файл GCS на компьютер - PullRequest
0 голосов
/ 02 февраля 2019

Я отправляю учебную работу по ML Engine, которая вызывает мой код на Python.Я хочу загрузить определенный файл из моего облачного хранилища Google для использования в моем коде.

Каков наилучший способ сделать это?Я могу придумать несколько вариантов:

Единственный вариант, который приходит на ум, - это использование Python's subprocess для запуска gsutil cp gs://project/my_file.Однако я не знаю, настроены ли по умолчанию экземпляры ML Engine gsutil.Есть ли они?

Есть ли более простой способ загрузить файл, сохраненный в GCS, программно?Я просмотрел документы, но не вижу адресованного этому варианту использования.

Спасибо!

1 Ответ

0 голосов
/ 02 февраля 2019

В вашей обучающей программе вы можете использовать TensorFlow для непосредственного чтения файла из GCS:

from tensorflow.python.lib.io import file_io
with file_io.FileIO('gs://bucket/file.csv', 'r') as f:
  ...

Конечно, вы можете читать и писать сразу:

from tensorflow.python.lib.io import file_io
with file_io.FileIO('gs://bucket/file.csv', 'r') as infile:
  with file_io.FileIO('/tmp/file.csv', 'w') as outfile:
     outfile.write(infile.read())

ВторойЛучше всего использовать клиентскую библиотеку Python (не забудьте указать google-cloud-storage в качестве зависимости):

   import google.cloud.storage as gcs
   bucket = gcs.Client().get_bucket('bucketname')
   blob = bucket.blob('/some/file.csv')
   dest = '/tmp/file.csv'
   blob.download_to_filename(dest)
...