在我想要启动的模型中,我有一些必须用特定值初始化的变量。
我目前将这些变量存储到numpy数组中,但我不知道如何调整我的代码以使其适用于google-cloud-cnn作业。
目前我初始化我的变量:
f =file_io.read_file_to_string('gs://cnnfish/train_data200back.npy')
my_variable = tf.Variable(initial_value=np.load(f), name='my_variable')
InvalidArgumentError: Error executing an HTTP request (HTTP response code 400, error code 0, error message ''), response '{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Bucket is requester pays bucket but no user project provided."
}
],
"code": 400,
"message": "Bucket is requester pays bucket but no user project provided."
}
}
'
when reading metadata of gs://cnnfish/train_data200back.npy

答案 0 :(得分:1)
您尝试阅读的文件是Requester Pays资源,这意味着您需要满足某些访问要求:
...启用后,只有以下用户可以访问存储桶或其存储桶 内容:
include a billing project in their request的请求者。请求中使用的项目必须具有良好的信誉和用户 在包含该项目的项目中必须have a role
serviceusage.services.use
权限。roles/editor
和。{roles/owner
个角色包含所需的权限。申请人不包含结算项目但拥有
resourcemanager.projects.createBillingAssignment
权限的申请人 包含存储桶的项目。roles/owner
项目角色 包含所需的权限。与这些相关的访问费用 请求将计入包含存储桶的项目。对该存储桶的所有其他请求均以
400 UserProjectMissing
失败 错误。
你最有可能的目标是处于第一个子弹位置。不幸的是,file_io.read_file_to_string
不允许您指定GCP项目。
我只能建议按照Accessing Requester Pays buckets中的python代码示例首先将文件下载到本地文件系统(同时指定项目),然后在该下载文件上调用file_io.read_file_to_string
。