Google Cloud Function 到 运行 具有不同用户参数的相同训练作业并行

Google Cloud Function to run same training job with different user args in paralell

我正在尝试找到一种方法来 运行 并行使用不同用户参数的相同训练作业。 我需要 运行 MYMODULE 并行处理 product_X 中的每一个。 MYMODULE 读取 user_arg,但我需要每次读取它时读取不同的产品,并在 parallel.I 中启动它们知道一个解决方案可能是 运行 三个单独的训练代码块, 但也许有一个函数可以直接用一个来完成。

!gcloud ai-platform jobs submit training demo_training_$(date +"%Y%m%d_%H%M%S") \
    --staging-bucket gs: MYBUCKET\
    --package-path MYPATH \
    --module-name MYMODULE \
    --region MYREGION \
    --runtime-version=2.1 \
    --python-version=3.7 \
    --scale-tier BASIC \
    -- \
    --model-bucket MYBUCKET \
    --output-dir MYDIR \
    --user_arg product_1, product_2, product_3 \

MYMODULE 看起来像这样,我需要在每个 运行 上读取不同的产品。

def train_and_evaluate (args):
    ...code

    product = args.user_arg

    ...more code

没有此类调用的客户端库。但是,在 google,所有都是 API。因此,您可以直接 API 调用 运行 您的作业。

您可以调用AI Platform job creation API to create your job. You need to specify a training job body and in it you have a training job input。在此 object 中,您有 args 的列表,您提供给您的培训工作。

如果您想要填充 JSON 的示例,运行 您的带有选项 --log-http 的 gcloud 命令和 API 调用将打印在控制台上.


当您执行 API 调用时,您需要执行和验证调用。您可以使用 Google OAuth2 library 获取凭据。然后,生成您添加为 Authorization: Bearer header 的访问令牌。不要忘记在 header 中添加 content-type(当然是 application/json