我有一个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函数为存储桶和文件的路径添加别名,但是会收到一条错误消息,提示不存在此类文件。
这是完整的追溯:
答案 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
函数的作用,请告诉我们是否可行。