Cloud ML 无法在 Google Cloud Storage 上找到文件
Cloud ML Unable to find the file on Google Cloud Storage
我正在使用以下命令读取我的数据文件:
data_dir = arguments['data_dir']
data = pd.read_csv(data_dir + "/train.csv")
我正在使用此数据在 Google Cloud ML 上训练我的模型,我能够成功安排作业,但在获取文件时出现以下 IO 错误:
IOError: File gs://cloud-bucket/data/train.csv does not exist
文件的地址是正确的,因为我已经使用上述存储桶中的控制台上传了它。此外,Cloud ML 在同一区域工作,并配置了与我的存储桶相同的项目
GCS 不是 POSIX 文件系统,因此您通常不能使用 "regular" 文件库来操作 GCS 上的文件(例如,参见 , , and ),当然包括便利性像 pd.read_csv
.
这样的函数
在pandas的情况下,你可以传递一个文件句柄,所以,基于前面提到的,我推荐使用TensorFlow的文件包装器,它可以从GCS或标准读取POSIX 文件系统,使您能够 运行 在本地和云端使用相同的代码:
from tensorflow.python.lib.io import file_io
data_dir = arguments['data_dir']
with file_io.FileIO(data_dir + "/train.csv", mode ='r') as f:
data = pd.read_csv(f)
通过在本地 运行 测试您的代码并在提交云作业之前传入 GCS 文件名可能也会有所帮助。
我正在使用以下命令读取我的数据文件:
data_dir = arguments['data_dir']
data = pd.read_csv(data_dir + "/train.csv")
我正在使用此数据在 Google Cloud ML 上训练我的模型,我能够成功安排作业,但在获取文件时出现以下 IO 错误:
IOError: File gs://cloud-bucket/data/train.csv does not exist
文件的地址是正确的,因为我已经使用上述存储桶中的控制台上传了它。此外,Cloud ML 在同一区域工作,并配置了与我的存储桶相同的项目
GCS 不是 POSIX 文件系统,因此您通常不能使用 "regular" 文件库来操作 GCS 上的文件(例如,参见 pd.read_csv
.
在pandas的情况下,你可以传递一个文件句柄,所以,基于前面提到的
from tensorflow.python.lib.io import file_io
data_dir = arguments['data_dir']
with file_io.FileIO(data_dir + "/train.csv", mode ='r') as f:
data = pd.read_csv(f)
通过在本地 运行 测试您的代码并在提交云作业之前传入 GCS 文件名可能也会有所帮助。