提交GCP TPU ML训练作业时无法正确识别Python版本该如何解决
根因分析
--python-version是gcloud命令的原生参数,用于指定云端训练环境的Python版本,你将该参数放在了分隔符--之后,这部分参数会直接透传给你自己的训练脚本,GCP AI平台服务无法读取到该参数,因此识别到Python版本为空,触发版本不支持报错。该问题和你本地安装的Python版本无关,不需要调整本地环境。- 额外你提交的
--packages参数里存在拼写错误:slim/dist/slim 0.1.tar.gz中间的空格应为横杠,否则后续会触发包找不到的错误。
修复方案
调整参数位置,将--python-version 3.7移到分隔符--之前,同时修正packages参数的拼写错误即可,修正后的完整命令如下:
!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 \ --python-version 3.7 \ --scale-tier BASIC_TPU \ --region us-central1 \ -- \ --model_dir=gs://dota-1/train \ --tpu_zone us-central1 \ --pipeline_config_path=gs://dota-1/data/pipeline.config
调整后GCP AI平台就能正确识别到你指定的Python 3.7版本,匹配runtime 2.6的支持范围,不会再触发版本报错。
内容的提问来源于stack exchange,提问作者porschewitz
相关产品推荐
相关产品推荐

