问题标签 [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.
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 吗?
google-cloud-ml - 使用自定义容器进行训练时调用不同的入口点/模块
我已经使用我的训练应用程序构建了一个自定义 Docker 容器。目前,Dockerfile 类似于
所以当我跑步时
它按预期进行。
我想做的是添加另一个模块,例如/pipelines/component/src/tuning.py
;ENTRYPOINT
从 Dockerfile中删除默认值;决定从gcloud
命令调用哪个模块。所以我尝试了
它返回Source directory [/pipelines/component] is not a valid directory.
,因为它在本地机器上搜索包路径,而不是容器。我怎么解决这个问题?
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-hypertune
Python 包报告指标的选项。但它需要度量值作为输入参数之一。如何从tf.estimator.train_and_evaluate
函数中提取度量(因为这是我用来训练/评估我的估计器的函数)以输入到report_hyperparameter_tuning_metric
函数中?
ETA:日志显示没有错误。它表示作业成功完成,即使它失败了。
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 文档,我很困惑。也许我错过了一些明显的东西:(
google-cloud-platform - Slack webhook 和模型训练任务
这应该是一个相当简单的问题,但我无法在文档中找到任何内容:有没有办法在训练任务(在 GCP ai 平台中)完成时发送 Slack 通知?基本上我正在寻找与此等效的 AI 平台。
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 文档中的所有内容。
- 首先,该命令需要一个模型文件以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,则导出的图默认已准备好提供服务。
- “image_b64.json”文件遵循以下格式:
{"image_bytes":{"b64": base64_jpeg_data )}}
因此,经过 3 个小时并遵循了 Google 要求的所有内容后,不知何故,gloud 仍然向我抛出了这个错误。而且,是的,当然我已经在管理员模式下运行了命令行。我也在我的两台电脑上试过了,我得到了同样的错误。我正在使用 Windows,Tensorflow 1.15。
谁能指出我的实现有什么问题,或者 Google Doc/Keras 只是缺乏光泽。谢谢你。