В ai-платформе GCP я пытаюсь записывать простые журналы в файл в дополнение к сохранению модели 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-платформа обнаруживает файл paths?
Мой запрос по сути выглядит следующим образом (см. 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)