我可以为 GCP ai-platform 训练作业指定超时吗?
Can I specify a timeout for a GCP ai-platform training job?
我最近提交了一个训练作业,命令如下:
gcloud ai-platform jobs submit training foo --region us-west2 --master-image-uri us.gcr.io/bar:latest -- baz qux
(更多关于此命令如何工作的信息:https://cloud.google.com/ml-engine/docs/training-jobs)
我的代码中存在错误,导致作业只保留 运行,而不是终止。两周和 61 美元后,我发现了我的错误并取消了工作。我想确保我不会再犯这种错误。
我正在考虑在训练容器中使用 timeout
命令来终止进程,如果它花费的时间太长(典型的运行时间约为 2 或 3 小时),而不是相信容器会自行终止,我更愿意配置 GCP 在外部杀死它。
有办法实现吗?
作为解决方法,您可以编写一个小脚本来运行您的命令,然后休眠您想要的时间,直到 运行 到 cancel job command。
由于 AI Platform 训练服务中没有超时定义,我冒昧地开了一个 Public Issue with a Feature Request 来记录这个命令的缺失。您可以跟踪 PI 进度 here.
除了上面提到的脚本,你还可以试试:
- TimeOut Keras 回调,或 timeout= Optuna 参数(取决于您实际使用的库)
- Cron 触发的 Lambda(云函数)
我最近提交了一个训练作业,命令如下:
gcloud ai-platform jobs submit training foo --region us-west2 --master-image-uri us.gcr.io/bar:latest -- baz qux
(更多关于此命令如何工作的信息:https://cloud.google.com/ml-engine/docs/training-jobs)
我的代码中存在错误,导致作业只保留 运行,而不是终止。两周和 61 美元后,我发现了我的错误并取消了工作。我想确保我不会再犯这种错误。
我正在考虑在训练容器中使用 timeout
命令来终止进程,如果它花费的时间太长(典型的运行时间约为 2 或 3 小时),而不是相信容器会自行终止,我更愿意配置 GCP 在外部杀死它。
有办法实现吗?
作为解决方法,您可以编写一个小脚本来运行您的命令,然后休眠您想要的时间,直到 运行 到 cancel job command。
由于 AI Platform 训练服务中没有超时定义,我冒昧地开了一个 Public Issue with a Feature Request 来记录这个命令的缺失。您可以跟踪 PI 进度 here.
除了上面提到的脚本,你还可以试试:
- TimeOut Keras 回调,或 timeout= Optuna 参数(取决于您实际使用的库)
- Cron 触发的 Lambda(云函数)