Мы могли бы предложить вам два разных способа.
Один из них заключается в том, что Python вызывает gsutil
на загрузку объекта облачного хранилища в вашу файловую систему и затем работает с этими данными.
Или вы можете использовать Клиентскую библиотеку , что, возможно, является лучшим подходом.
Для последнего убедитесь, что в прошлом вы запускали pip install google-cloud-storage
на компьютере, на котором вы работали.запускаешь твой код.
Предполагая, что используемая вами функция load
принимает в качестве входного файла текущий рабочий каталог.
Добавьте следующий фрагмент кода в исходный код:
from google.cloud import storage
client = storage.Client()
def download_gcs_object(name_bucket, name_blob):
bucket = client.bucket(name_bucket)
blob = bucket.blob(name_blob)
blob.download_to_filename(blob.name)
print("Downloaded into current working directory a file with name ", blob.name)
После этого вы можете редактировать часть, которую вы разместили таким образом:
def load_dataset():
#download a Cloud Storage object
BUCKET="bucket" #TODO edit
BLOB="data.npz" #TODO edit
#or #BUCKET, BLOB = 'gs://bucket/data.npz'.split('/')[-2:] #if you prefer, have to edit accordingly again
download_gcs_object(BUCKET, BLOB)
# load dataset from filename with the blob name
data = load(BLOB)
#The rest of the code is as it was...
X, y = data['arr_0'], data['arr_1']
# separate into train and test datasets
trainX, testX, trainY, testY = train_test_split(X, y, test_size=0.3, random_state=1)
print(trainX.shape, trainY.shape, testX.shape, testY.shape)
return trainX, trainY, testX, testY
Дайте нам знать, если это работает, если это не объясняет, что такое функция load
.