提交 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 版有关。您可以看到这些选项:

  • Doesn’t support batch prediction。您可以使用 版本 1.15 或 2.1.

  • 使用比支持的最新版本更新的 TensorFlow AI Platform Training 上的运行时版本可以用于训练,但是 不用于预测。

    使用尚不支持作为完整 AI 的 TensorFlow 版本 Platform Training 运行时版本,将其作为自定义依赖项包含在内 为您的培训师使用以下方法之一:

    在 setup.py 文件中将 TensorFlow 版本指定为 PyPI 依赖。将其包含在您的所需软件包列表中,如下所示:

REQUIRED_PACKAGES = ['tensorflow>=2.6]

你可以看到更多documentation

  • 更改运行版本编辑这个标志,但你必须有 安装包:

--runtime-version 1.9

您可以查看有关 supported version 的更多文档。