Google Cloud Bucket文件不存在问题:如何访问存储桶内模型文件?
解决Google Cloud存储桶模型文件访问问题
Python内置的open()函数不支持直接解析Google Cloud Storage(GS)的gs://路径格式,这就是你触发FileNotFoundError的原因。下面是两种可行的解决方式:
方法1:使用Google Cloud Storage Python客户端库
步骤1:安装依赖
先安装官方客户端库:
pip install google-cloud-storage
步骤2:修改代码加载模型
可以选择将文件下载到临时目录后加载,或者直接读取到内存(适合小文件):
from google.cloud import storage import pickle import tempfile def Main(): # 初始化存储客户端 storage_client = storage.Client() # 指定目标存储桶和文件 bucket = storage_client.bucket('liwanag_model') blob = bucket.blob('trained_model.p') # 方案A:下载到临时文件加载(适配大模型) with tempfile.NamedTemporaryFile() as temp_file: blob.download_to_file(temp_file) temp_file.seek(0) # 回到文件起始位置 model = pickle.load(temp_file) # 方案B:直接读取到内存(适合小模型,更高效) # model_bytes = blob.download_as_bytes() # model = pickle.loads(model_bytes) # 后续业务逻辑...
注意事项
- 确保运行环境已配置GCP认证:本地开发可执行
gcloud auth application-default login;部署在GCP服务(如Compute Engine、Cloud Run)时,给对应服务账号授予storage.objects.get权限,确保能读取存储桶文件。
内容的提问来源于stack exchange,提问作者AaronTan21
相关产品推荐
相关产品推荐

