GCP ai-platform では、tf.keras モデルを保存するだけでなく、単純なログをファイルに書き込もうとしています。ただし、モデルを保存するとtf.saved_model.save
動作しますが、.txt を使用して書き込みを行うと、with open(file) as out:
動作せず、これが発生します。
FileNotFoundError: [Errno 2] No such file or directory: 'gs://my-test-bucket-001/keras-job-dir/mnist_model_export/results.txt'
ai-platform がファイル パスを検出する方法の違いを説明できる人はいますか?
私のリクエストは基本的に次のようになります ( https://cloud.google.com/ai-platform/docs/getting-started-kerasを参照)
...
JOB_DIR = gs://my-test-bucket-001/keras-job-dir
gcloud ai-platform jobs submit training $JOB_NAME \
--package-path trainer/ \
--module-name trainer.task \
--region $REGION \
--python-version 3.7 \
--runtime-version 2.1 \
--job-dir $JOB_DIR \
--stream-logs
trainer/task.py スクリプトの関連部分は次のとおりです。
# use this path to save outputs
export_path = os.path.join(args.job_dir, 'mnist_model_export')
# this works
tf.saved_model.save(mnist_model, export_path)
# this fails when included
with open(os.path.join(export_path, 'results.txt'), 'a+') as out:
log_str = "Job finished! {}\n".format(time.strftime('%Y-%m-%d %H:%M:%S'))
out.write(log_str)