我正在使用以下命令读取数据文件:
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文件系统,因此,您通常不能使用“常规”文件库来处理GCS上的文件(例如,请参见this,this和this),当然包括便利功能,例如pd.read_csv
。
对于大熊猫,您可以传递文件句柄,因此,根据上述文章,我建议使用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文件名来测试代码也可能会有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句