【问题标题】:fail to submit job to f1-micro with gcloud ml-engine (or ai-platform) command in jupyter notebook无法在 jupyter notebook 中使用 gcloud ml-engine(或 ai-platform)命令向 f1-micro 提交作业
【发布时间】:2019-12-29 05:24:03
【问题描述】:

我正在尝试提交一个谷歌云作业,用于训练 mnist 数字的 cnn 模型。因为我是 gcp 的新手,所以我想先在 f1-micro 机器上训练这项工作以进行练习。但不成功。在此过程中我遇到了两个问题。

这是我的系统。 windows 10、anaconda、jupyter notebook 6、python 3.6、tf 1.13.0。 起初,我的模型在不涉及任何 gcp 命令的情况下运行良好。然后我按照 gcp 课程的建议将文件打包到一个模块中。并使用 gcloud 命令进行本地火车。在我关闭并停止 ipynb 文件之前,该单元格似乎被卡住并且什么也不做。培训紧随其后,结果是正确的,因为我在 Tensorboard 上对其进行了监控。我需要做什么才能使其在不关闭该笔记本的情况下从单元中正常运行?顺便说一句,我可以让它在没有这个问题的终端中运行。

第二个问题,然后我尝试向谷歌云机器提交。我用 f1-micro 创建了一个 vm 实例只是为了练习,因为它有很多空闲时间。但我的命令选项不被接受。我尝试了几种机器类型的格式。我无法正确设置机器类型。以及如何建立与我创建的实例的连接?

有什么建议吗?谢谢!代码在这里。

#1.local submission lines


OUTDIR='trained_test'

INPDIR='..\data'
shutil.rmtree(path = OUTDIR, ignore_errors = True) 

!gcloud ai-platform local train \
    --module-name=trainer.task \
    --package-path=trainer \
    -- \
    --output_dir=$OUTDIR \
    --input_dir=$INPDIR \
    --epochs=2 \
    --learning_rate=0.001 \
    --batch_size=100


#2. submit to compute engine

OUTDIR='gs://'+BUCKET+'/digit/train_01'
INPDIR='gs://'+BUCKET+'/digit/data'
JOBNAME='kaggle_digit_01_'+datetime.now().strftime("%Y%m%d_%H%M%S")

!gcloud ai-platform jobs submit training $JOBNAME \
    --region=$REGION \
    --module-name=trainer.task \
    --package-path=trainer \
    --job-dir=$OUTDIR \
    --staging-bucket=gs://$BUCKET \
    --scale-tier=custom \
    --master-machine-type=zones/us-central1-a/machineTypes/f1-micro \
    --runtime-version 1.13 \
    -- \
    --output_dir=OUTDIR \
    --input_dir=INPDIR \
    --epochs=5 --learning_rate=0.001 --batch_size=100 \

错误信息:

ERROR: (gcloud.ai-platform.jobs.submit.training) INVALID_ARGUMENT: Field: master_type Error: The specified machine type is not supported: zones/us-central1-a/machineTypes/f1-micro
- '@type': type.googleapis.com/google.rpc.BadRequest
  fieldViolations:
  - description: 'The specified machine type is not supported: zones/us-central1-a/machineTypes/f1-micro'
    field: master_type

更新:

更改机器类型确实有效

--scale-tier=CUSTOM \
--master-machine-type=n1-standard-4 \

我也是把下面的放在开头,让notebook识别$jobname等文件格式...

import gcsfs

btw --job-dir 似乎无关紧要。

但是本地火车仍然存在同样的问题,我需要关闭并停止笔记本才能开始训练。 有人可以对此提出建议吗?

【问题讨论】:

    标签: python tensorflow google-cloud-platform jupyter-notebook google-cloud-ml


    【解决方案1】:

    AI Platform Training 不支持 f1-micro。 Here 是支持的机器列表。您也不需要指定区域。只是机器类型。即,--master-machine-type=n1-standard-4

    【讨论】:

    • 感谢您的信息!除此之外还有两个问题。我是否需要在 gcp 控制台上创建一个 n1-standard-4 的 VM 实例才能提交此作业?有没有其他方法可以使用 f1-micro 进行模型训练?
    • 人工智能平台是无服务器的,这意味着您不必担心服务器配置。想在 f1-micro 上训练?嗯,创建机器,安装所有必需的依赖项并直接运行Python命令,无需使用gcloud ai-platform。
    猜你喜欢
    • 1970-01-01
    • 2019-12-13
    • 1970-01-01
    • 1970-01-01
    • 2021-05-01
    • 2019-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多