Загрузите массив numpy в google-cloud-ml job

В модели, которую я хочу запустить, у меня есть некоторые переменные, которые должны быть инициализированы определенными значениями.

В настоящее время я храню эти переменные в массивах numpy, но я не знаю, как адаптировать мой код, чтобы он работал над работой google-cloud-ml.

В настоящее время я инициализирую свою переменную следующим образом:

my_variable = variables.model_variable('my_variable', shape=None, dtype=tf.float32, initializer=np.load('datasets/real/my_variable.npy')) 

Кто-нибудь может мне помочь ?

  • Tensorflow GMM ERROR: тензорный поток: модель расходится с потерей = NaN.
  • ищет исходный код из gen_nn_ops в тензорном потоке
  • Tensorflow Deep MNIST: ресурс исчерпан: OOM при распределении тензора с формой
  • Проблемы, связанные с тензорным потоком
  • Внедрение предварительно подготовленных векторов word2vec в TensorFlow seq2seq
  • Как добавить, если условие в графе TensorFlow?
  • Одновременное выполнение нескольких сеансов тензорного потока
  • Инструкции CPU не скомпилированы с помощью TensorFlow
  • One Solution collect form web for “Загрузите массив numpy в google-cloud-ml job”

    Во-первых, вам нужно будет скопировать / сохранить данные в GCS (используя, например, gsutil ), и обеспечить, чтобы ваш учебный скрипт имел доступ к этому ведру. Самый простой способ сделать это – скопировать массив в тот же самый ведро, что и ваши данные, так как вы, вероятно, уже настроили этот ковш для доступа к чтению. Если ведро находится в том же проекте, что и ваше учебное задание, и вы следовали этим инструкциям (в частности, gcloud beta ml init-project ), вы должны быть установлены. Если данные будут в другом ковше, см. Эти инструкции.

    Затем вам понадобится библиотека, способная загружать данные из GCS. Tensorflow включает модуль, который может это сделать, хотя вы можете использовать любую клиентскую библиотеку, которая может читать GCS. Вот пример использования file_io модуля file_io :

     from StringIO import StringIO import tensorflow as tf import numpy as np from tensorflow.python.lib.io import file_io # Create a variable initialized to the value of a serialized numpy array f = StringIO(file_io.read_file_to_string('gs://my-bucket/123.npy')) my_variable = tf.Variable(initial_value=np.load(f), name='my_variable') 

    Обратите внимание, что мы должны прочитать файл в строку и использовать StringIO , так как file_io.FileIO не полностью реализует функцию поиска, требуемую numpy.load .

    Бонус: в случае, если это полезно, вы можете напрямую сохранить массив numpy в GCS с file_io модуля file_io , например:

     np.save(file_io.FileIO('gs://my-bucket/123', 'w'), np.array([[1,2,3], [4,5,6]])) 
    Python - лучший язык программирования в мире.