谷歌colaboratory和谷歌云之间的接口
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了谷歌colaboratory和谷歌云之间的接口相关的知识,希望对你有一定的参考价值。
从google colaboratory,如果我想读/写到谷歌云中创建的给定存储桶中的文件夹,我该如何实现?
我创建了一个存储桶,存储桶中的一个文件夹,并将一堆图像上传到其中。现在来自colaboratory,使用jupyter笔记本,想要创建多个子目录,将这些图像组织成火车,验证和测试文件夹。
随后访问相应的文件夹以进行培训,验证和测试模型。
使用Google驱动器,我们只需在身份验证后使用以下命令更新指向特定目录的路径。
import sys
sys.path.append('drive/xyz')
我们在桌面版上做了类似的事情
import os
os.chdir(local_path)
Google云端存储是否存在类似情况?
我是colaboratory常见问题解答,它有读写单个文件的程序,我们需要设置整个路径。将主目录重新组织到子目录并单独访问它们将是繁琐的。
一般来说,尝试在本地计算机上安装GCS存储桶并不是一个好主意(这将允许您按照您的提及使用它)。来自Connecting to Cloud Storage buckets:
注意:云存储是一种对象存储系统,与POSIX文件系统不具有相同的写入约束。如果您同时从多个源向云存储中的文件写入数据,则可能会无意中覆盖关键数据。
假设您想要继续而不管警告,如果您使用Linux操作系统,您可以使用Cloud Storage FUSE适配器安装它。见相关的How to mount Google Bucket as local disk on Linux instance with full access rights。
从python应用程序访问GCS的推荐方法是使用Cloud Storage Client Libraries,但访问文件将与您的代码段不同。你可以在Python Client for Google Cloud Storage找到一些例子:
from google.cloud import storage
client = storage.Client()
# https://console.cloud.google.com/storage/browser/[bucket-id]/
bucket = client.get_bucket('bucket-id-here')
# Then do other things...
blob = bucket.get_blob('remote/path/to/file.txt')
print(blob.download_as_string())
blob.upload_from_string('New contents!')
blob2 = bucket.blob('remote/path/storage.txt')
blob2.upload_from_filename(filename='/local/path.txt')
更新:
Colaboratory文档根据Google API Client Library for Python推荐了另一种我忘记的方法,但请注意它也不像常规文件系统那样运行,它使用本地文件系统上的中间文件:
以上是关于谷歌colaboratory和谷歌云之间的接口的主要内容,如果未能解决你的问题,请参考以下文章