问题标签 [gcp-ai-platform-training]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
95 浏览

google-cloud-platform - kedro 支持 tfrecord 吗?

为了使用 Docker 容器在 AI 平台上训练 tensorflow keras 模型,我们将存储在 GCS 上的原始图像转换为使用tf.data.Dataset. 因此,数据永远不会存储在本地。相反,原始图像直接转换为 tfrecords 到另一个存储桶。是否可以将kedro与 tfrecord 数据集和流式传输功能一起使用tf.data.Dataset?根据文档kedro 似乎不支持 tfrecord 数据集。

0 投票
2 回答
251 浏览

google-cloud-platform - 如何在 AI 平台上同时运行多个 GPU 加速的训练作业

我正在使用该"scaleTier": "BASIC_GPU"设置在 AI Platform 上运行 tensorflow 训练作业。我的理解是,此设置使用单个 Tesla K80 GPU 来完成我的工作。

在另一个作业已经运行时创建新作业似乎会导致新创建的作业被放入队列中,直到正在运行的作业完成。当我检查新作业的日志时,我看到以下消息:

This job is number 1 in the queue and requires 8.000000 CPUs and 1 K80 accelerators. The project is using 8.000000 CPUs out of 450 allowed and 1 K80 accelerators out of 0 TPU_V2_POD, 0 TPU_V3_POD, 1 K80, 1 P100, 1 V100, 4 P4, 4 T4, 8 TPU_V2, 8 TPU_V3 allowed across all regions.The project is using 8.000000 CPUs out of 20 allowed and 1 K80 accelerators out of 0 TPU_V2_POD, 0 TPU_V3_POD, 1 K80, 1 P100, 1 P4, 1 T4, 1 V100, 8 TPU_V2, 8 TPU_V3 allowed in the region us-central1.

这个AI Platform 文档似乎说我的项目应该能够同时使用多达 30 个 K80 GPU。

为什么我什至不能同时使用 2?

我需要做些什么来将我的限制增加到预期的 30 吗?

0 投票
1 回答
214 浏览

google-cloud-ml - 使用自定义容器进行训练时调用不同的入口点/模块

我已经使用我的训练应用程序构建了一个自定义 Docker 容器。目前,Dockerfile 类似于

所以当我跑步时

它按预期进行。

我想做的是添加另一个模块,例如/pipelines/component/src/tuning.pyENTRYPOINT从 Dockerfile中删除默认值;决定从gcloud命令调用哪个模块。所以我尝试了

它返回Source directory [/pipelines/component] is not a valid directory.,因为它在本地机器上搜索包路径,而不是容器。我怎么解决这个问题?

0 投票
1 回答
36 浏览

python - Google AIplatform:如何提交工作?

我正在尝试在 Google AI 平台上构建一个自定义容器。

文档中,我可以使用命令行提交作业。

我想提交一份带有 http 请求的工作。那可能吗?

0 投票
0 回答
280 浏览

tensorflow - Tensorflow/AI 云平台:HyperTune 试验未能报告超参数调优指标

tf.estimator在 Google AI Platform 上使用带有 TensorFlow 2.1 的 API 来构建 DNN 回归器。为了使用 AI Platform Training 超参数调优,我遵循了Google 的文档。我使用了以下配置参数:

配置.yaml:

为了将指标添加到我的摘要中,我为我的 DNNRegressor 使用了以下代码:

根据 Google 的文档,该add_metric函数使用指定的度量创建一个新的估计器,然后将其用作超参数度量。但是,AI Platform Training 服务无法识别此指标: AI Platform 上的作业详细信息

在本地运行代码时,rmse 指标确实会在日志中输出。那么,如何使用 Estimators 使指标可用于 AI Platform 上的训练作业?

此外,还有一个通过cloudml-hypertunePython 包报告指标的选项。但它需要度量值作为输入参数之一。如何从tf.estimator.train_and_evaluate函数中提取度量(因为这是我用来训练/评估我的估计器的函数)以输入到report_hyperparameter_tuning_metric函数中?

ETA:日志显示没有错误。它表示作业成功完成,即使它失败了。

0 投票
1 回答
128 浏览

tensorflow - AI Platform 作业以非零状态 1 退出。终止原因:错误

我的 Tensorflow 训练作业以非零状态 1 退出,并且没有提供任何有用的错误消息。回溯看起来像是隐藏的 [...] 并且提供的链接是相似的。以下是日志输出的内容:

在此处输入图像描述

我已经检查了具有Cloud ML 服务代理角色的服务帐户,该服务代理具有logging.logEntries.create的权限。Cloud ML Service 代理的描述还指出:

Cloud ML 服务代理可以充当日志写入器、云存储管理员、工件注册表读取器、BigQuery 写入器和服务帐户访问令牌创建者。

所以我假设它有权将日志写入记录器......我的问题是我如何解决我的工作失败的原因?

0 投票
2 回答
280 浏览

google-cloud-platform - 如何将 AI Platform 作业连接到 Cloud SQL PSQL DB?

我有一个简单的 python 程序可以连接到谷歌云平台上的 PSQL DB。当我在本地运行它时,它通过主机地址(公共 IP)、端口、用户名和密码成功连接到数据库(仅当我手动告诉数据库允许我的本地 IP 地址时)。

当我将其打包在 Docker 映像中并在本地运行时,它会成功连接(仅当我手动告诉数据库允许我的本地 IP 地址时)。

这是失败的地方:如果我停止告诉数据库允许我的本地 IP 地址,它就会失败。

此外,在我将 docker 映像推送到谷歌云容器注册表之后。然后使用ai-platform训练作业抓取容器并通过代码做一些事情:

我通过标志与图像通信,我确信图像响应正确。但是,当我尝试连接到 PSQL DB 时,出现错误:

我不想使用云 sql 代理来解决这个问题,也不想设置任何类型的静态 IP 并在数据库设置中手动“允许”它。

我想通过 IAM 服务器帐户促进连接。我为所有服务授予以下权限:Cloud SQL Admin、Cloud SQL Editor、Cloud SQL Client、Cloud SQL Instance User、Cloud SQL Service Agent。

如您所知,我为每个帐户都授予了权限,但仍然无法连接。任何帮助,将不胜感激!

另外,当我调用 gcloud ai-platform 作业提交培训时......我知道某些服务帐户会创建一个实例来执行作业。我认为是这个实例无法连接。我已经阅读了很多 gcloud 文档,我很困惑。也许我错过了一些明显的东西:(

0 投票
2 回答
97 浏览

google-cloud-platform - Slack webhook 和模型训练任务

这应该是一个相当简单的问题,但我无法在文档中找到任何内容:有没有办法在训练任务(在 GCP ai 平台中)完成时发送 Slack 通知?基本上我正在寻找与等效的 AI 平台。

0 投票
0 回答
158 浏览

tensorflow - Gcloud ai-platform local predict 错误:gcloud crashed (PermissionError): [WinError 5] Access is denied

我试图运行一个命令来测试我的计算机中的本地预测。但是,该命令每次都因此错误而失败。

ERROR: gcloud crashed (PermissionError): [WinError 5] Access is denied

这是命令:

gcloud ai-platform local predict --model-dir model_final --json-instances image_b64.json --framework tensorflow

我很肯定 101% 肯定我已经遵循了 Google 文档中的所有内容。

  1. 首先,该命令需要一个模型文件以TensorFlow SavedModel 格式保存,因为我使用的是 Keras,所以我可以这样做model.save("model_final")

如果您使用 Keras 进行训练,请使用 tf.keras.Model.save 导出 SavedModel

所以我这样做了,它只输出一个文件,所以我只能假设它是要放置在 --model-dir 参数中的文件。我承认model.save("model_final")确实创建了一个文件,而不是一个目录,这有点奇怪,但Keras 的文档只是说使用它,所以我不可能错。

并且:

如果您使用 tf.keras.Model.save 导出 SavedModel,则无需指定服务输入函数。

如果您从 tf.keras 或 TensorFlow 估算器导​​出 SavedModel,则导出的图默认已准备好提供服务。

  1. “image_b64.json”文件遵循以下格式

{"image_bytes":{"b64": base64_jpeg_data )}}

因此,经过 3 个小时并遵循了 Google 要求的所有内容后,不知何故,gloud 仍然向我抛出了这个错误。而且,是的,当然我已经在管理员模式下运行了命令行。我也在我的两台电脑上试过了,我得到了同样的错误。我正在使用 Windows,Tensorflow 1.15。

谁能指出我的实现有什么问题,或者 Google Doc/Keras 只是缺乏光泽。谢谢你。

0 投票
1 回答
59 浏览

tensorflow - Can you prevent Google AI platform from terminating an evaluator before it's complete?

I'm running a training job on the google AI platform, just training a simple tf.Estimator. Is there a way to prevent the whole job from completing if there's still an evaluation task running?

evaluator replica being killed by gcloud