如何将.npz文件加载到Google Compute Engine中

时间:2019-09-21 22:23:43

标签: numpy google-cloud-platform google-compute-engine jupyter

我有一个CNN模型,我想在连接到Google Compute Engine中的VM实例的Jupyter界面中运行。我一直很难弄清楚如何从Jupyter读取数据,并将照片图像数据转换为保存在Google Cloud Storage Bucket中的.npz文件。

这是我到目前为止尝试过的:

def load_dataset():

    # load dataset

    data = load('gs://bucket/data.npz')
    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

我认为我可以使用gsutil函数为存储桶和文件的路径添加别名,但是会收到一条错误消息,提示不存在此类文件。

这是完整的追溯:

enter image description here

1 个答案:

答案 0 :(得分:0)

我们可以建议您两种不同的方式。

一种方法是让Python调用T.subCollectionRef(of: parentDocument.ref).document(documentID).getDocument { snapshot, error in if let snapshot = snapshot, snapshot.exists { completion(Result.success(snapshot)) } else { Result.failure(error) } } download a Cloud Storage object您的文件系统,然后使用该数据。

或者您可以使用Client Library,这可以说是一种更好的方法。

对于后者,请确保您过去在运行代码的计算机上运行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 函数的作用,请告诉我们是否可行。