Zuerst müssen Sie die Daten auf GCS kopieren/speichern (z. B. gsutil
) und sicherstellen, dass Ihr Schulungsskript auf diesen Bereich zugreifen kann. Der einfachste Weg besteht darin, das Array in denselben Bucket wie Ihre Daten zu kopieren, da Sie diesen Bucket wahrscheinlich bereits für den Lesezugriff konfiguriert haben. Wenn sich der Bucket im selben Projekt wie Ihr Trainingsjob befindet und Sie die Anweisungen these (insbesondere gcloud beta ml init-project
) befolgt haben, sollten Sie festlegen. Wenn sich die Daten in einem anderen Bucket befinden, lesen Sie die Anweisungen unter these.
Dann müssen Sie eine Bibliothek verwenden, die Daten von GCS laden kann. Tensorflow enthält ein Modul, das dies ermöglicht, obwohl Sie jede Client-Bibliothek verwenden können, die von GCS lesen kann. Hier ist ein Beispiel von TensorFlow der mit file_io
Modul:
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')
Beachten Sie, dass wir die Datei in einen String zu lesen und verwenden StringIO
, da file_io.FileIO
nicht vollständig die Funktion von numpy.load
erforderlich suchen implementieren.
Bonus: falls es sinnvoll ist, können Sie direkt eine numpy Array GCS speichern die file_io
Modul, z.B .:
np.save(file_io.FileIO('gs://my-bucket/123', 'w'), np.array([[1,2,3], [4,5,6]]))