提交 ML 训练作业时 GCP 未检测到正确的 python 版本
GCP not detecting correct python version when submitting ML training job
我正在尝试使用以下方法在 GCP 上提交 TPU ML 训练作业:
> !gcloud ai-platform jobs submit training `whoami`_object_detection_`date +%s` \
> --job-dir=gs://dota-1/train \
> --packages dist/object_detection-0.1.tar.gz,slim/dist/slim 0.1.tar.gz,/tmp/pycocotools/pycocotools-2.0.tar.gz \
> --module-name object_detection.model_tpu_main \
> --runtime-version 2.6 \
> --scale-tier BASIC_TPU \
> --region us-central1 \
> -- \
> --model_dir=gs://dota-1/train \
> --tpu_zone us-central1 \
> --python-version 3.7 \
> --pipeline_config_path=gs://dota-1/data/pipeline.config
但它给了我以下错误并且没有检测到正确的 python 版本:
ERROR: (gcloud.ai-platform.jobs.submit.training) INVALID_ARGUMENT: Field: runtime_version Error: The specified runtime version '2.6' with the Python version '' is not supported or is deprecated. Please specify a different runtime version. See https://cloud.google.com/ml-engine/docs/runtime-version-list for a list of supported versions.
- '@type': type.googleapis.com/google.rpc.BadRequest
fieldViolations:
- description: The specified runtime version '2.6' with the Python version '' is
not supported or is deprecated. Please specify a different runtime version.
See https://cloud.google.com/ml-engine/docs/runtime-version-list for a list
of supported versions.
field: runtime_version
我已经 运行 !python --version
并确认我已经安装了 python 3.7,这是 GCP 支持的版本。
我该如何解决这个问题?
此错误与 TensorFlow 2.6 版有关。您可以看到这些选项:
-
使用比支持的最新版本更新的 TensorFlow
AI Platform Training 上的运行时版本可以用于训练,但是
不用于预测。
使用尚不支持作为完整 AI 的 TensorFlow 版本
Platform Training 运行时版本,将其作为自定义依赖项包含在内
为您的培训师使用以下方法之一:
在 setup.py 文件中将 TensorFlow 版本指定为 PyPI
依赖。将其包含在您的所需软件包列表中,如下所示:
REQUIRED_PACKAGES = ['tensorflow>=2.6]
你可以看到更多documentation。
- 更改运行版本编辑这个标志,但你必须有
安装包:
--runtime-version 1.9
您可以查看有关 supported version 的更多文档。
我正在尝试使用以下方法在 GCP 上提交 TPU ML 训练作业:
> !gcloud ai-platform jobs submit training `whoami`_object_detection_`date +%s` \
> --job-dir=gs://dota-1/train \
> --packages dist/object_detection-0.1.tar.gz,slim/dist/slim 0.1.tar.gz,/tmp/pycocotools/pycocotools-2.0.tar.gz \
> --module-name object_detection.model_tpu_main \
> --runtime-version 2.6 \
> --scale-tier BASIC_TPU \
> --region us-central1 \
> -- \
> --model_dir=gs://dota-1/train \
> --tpu_zone us-central1 \
> --python-version 3.7 \
> --pipeline_config_path=gs://dota-1/data/pipeline.config
但它给了我以下错误并且没有检测到正确的 python 版本:
ERROR: (gcloud.ai-platform.jobs.submit.training) INVALID_ARGUMENT: Field: runtime_version Error: The specified runtime version '2.6' with the Python version '' is not supported or is deprecated. Please specify a different runtime version. See https://cloud.google.com/ml-engine/docs/runtime-version-list for a list of supported versions.
- '@type': type.googleapis.com/google.rpc.BadRequest
fieldViolations:
- description: The specified runtime version '2.6' with the Python version '' is
not supported or is deprecated. Please specify a different runtime version.
See https://cloud.google.com/ml-engine/docs/runtime-version-list for a list
of supported versions.
field: runtime_version
我已经 运行 !python --version
并确认我已经安装了 python 3.7,这是 GCP 支持的版本。
我该如何解决这个问题?
此错误与 TensorFlow 2.6 版有关。您可以看到这些选项:
使用比支持的最新版本更新的 TensorFlow AI Platform Training 上的运行时版本可以用于训练,但是 不用于预测。
使用尚不支持作为完整 AI 的 TensorFlow 版本 Platform Training 运行时版本,将其作为自定义依赖项包含在内 为您的培训师使用以下方法之一:
在 setup.py 文件中将 TensorFlow 版本指定为 PyPI 依赖。将其包含在您的所需软件包列表中,如下所示:
REQUIRED_PACKAGES = ['tensorflow>=2.6]
你可以看到更多documentation。
- 更改运行版本编辑这个标志,但你必须有 安装包:
--runtime-version 1.9
您可以查看有关 supported version 的更多文档。