在 google 云机器学习中读取文件
reading files in google cloud machine learning
我尝试 运行 tensorflow-wavenet 在 google 云 ml-engine 上使用 gcloud ml-engine jobs submit training
但是云作业在尝试读取 json配置文件:
with open(args.wavenet_params, 'r') as f:
wavenet_params = json.load(f)
arg.wavenet_params
只是我上传到 google 云存储桶的 json 文件的文件路径。文件路径如下所示:gs://BUCKET_NAME/FILE_PATH.json
。
我仔细检查了文件路径是否正确,我确信这部分是导致崩溃的原因,因为我注释掉了其他所有内容。
崩溃日志文件没有提供太多关于发生的事情的信息:
Module raised an exception for failing to call a subprocess Command '['python', '-m', u'gcwavenet.train', u'--data_dir', u'gs://wavenet-test-data/VCTK-Corpus-Small/', u'--logdir_root', u'gs://wavenet-test-data//gcwavenet10/logs']' returned non-zero exit status 1.
我用 f.close()
替换了 wavenet_params = json.load(f)
,我仍然得到相同的结果。
当我 运行 在本地使用 gcloud ml-engine local train
时一切正常。
我认为问题通常出在使用 gcloud ml-engine
读取文件,或者我无法从 python 文件中使用 [=20= 访问 google 云存储桶].
Python 的 open
函数无法从 GCS 读取文件。您将需要使用能够这样做的库。 TensorFlow 包含一个这样的库:
import tensorflow as tf
from tensorflow.python.lib.io import file_io
with file_io.FileIO(args.wavenet_params, 'r') as f:
wavenet_params = json.load(f)
我尝试 运行 tensorflow-wavenet 在 google 云 ml-engine 上使用 gcloud ml-engine jobs submit training
但是云作业在尝试读取 json配置文件:
with open(args.wavenet_params, 'r') as f:
wavenet_params = json.load(f)
arg.wavenet_params
只是我上传到 google 云存储桶的 json 文件的文件路径。文件路径如下所示:gs://BUCKET_NAME/FILE_PATH.json
。
我仔细检查了文件路径是否正确,我确信这部分是导致崩溃的原因,因为我注释掉了其他所有内容。
崩溃日志文件没有提供太多关于发生的事情的信息:
Module raised an exception for failing to call a subprocess Command '['python', '-m', u'gcwavenet.train', u'--data_dir', u'gs://wavenet-test-data/VCTK-Corpus-Small/', u'--logdir_root', u'gs://wavenet-test-data//gcwavenet10/logs']' returned non-zero exit status 1.
我用 f.close()
替换了 wavenet_params = json.load(f)
,我仍然得到相同的结果。
当我 运行 在本地使用 gcloud ml-engine local train
时一切正常。
我认为问题通常出在使用 gcloud ml-engine
读取文件,或者我无法从 python 文件中使用 [=20= 访问 google 云存储桶].
Python 的 open
函数无法从 GCS 读取文件。您将需要使用能够这样做的库。 TensorFlow 包含一个这样的库:
import tensorflow as tf
from tensorflow.python.lib.io import file_io
with file_io.FileIO(args.wavenet_params, 'r') as f:
wavenet_params = json.load(f)