问题标签 [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 回答
140 浏览

python - 使用 AI Platform 超参数调优能力时如何强制参数依赖?

我有一个scikit-learn模型,我可以GCP使用AI Platform training. 我还想使用AI Platform training. 这是可能的,只需要传递带有参数及其范围的 YAML:

这里的问题是两个参数之间存在一些依赖关系:min_df<max_df. 如果不是这种情况scikit-learn,将按预期失败。

在 YAML 中似乎不可能表达这种依赖关系。

我可以调整失败的试验次数,但如果我不走运并且我的第一份工作,df_min>df_max那么超参数调整的整个过程将停止。这似乎不是一个有效的选择。 链接文档

我可以在我的 python 代码中控制它并确保df_min<df_max我应该返回到代码中进行超参数调整(我猜是使用贝叶斯优化),以便它了解这种参数选择是无效的?

只是返回 0.0 的精度就足够了吗?或者我应该返回None还是NaN?我没有找到关于这个主题的任何文档。

额外问题:当我使用 YAML 时,我只能传递字符串,而不能像 None 或 NULL link doc

在将值传递给模型之前,我需要直接在 python 代码中转换'None'为。None有没有更好的方法来处理这种情况?(我正在使用 gcloud cli)例如使用 GCP python 客户端库?

0 投票
2 回答
463 浏览

google-cloud-sql - 如何授予 AI Platform 训练作业访问同一项目中 Cloud SQL 资源的权限?

我有一张可以运行我的培训工作的图像。训练数据位于 Cloud SQL 数据库中。当我在本地机器上运行 cloud_sql_proxy 时,容器可以正常连接。

mysql只是用来测试连接,实际的训练命令在容器的其他地方。当我通过 AI Platform 尝试此操作时,我无法连接。

似乎无法从作业运行的任何地方访问主机。 如何授予 AI 平台对 Cloud Sql 的访问权限?

我已经考虑在训练容器中包含云 sql 代理,然后将服务帐户凭据作为用户 args 注入,但由于它们都在同一个项目中,我希望不需要这一步。这些希望是不是落空了?

0 投票
3 回答
1732 浏览

google-cloud-platform - 无法使用自定义预测例程将经过训练的模型部署到 Google Cloud Ai-Platform:模型需要的内存超出了允许的范围

我正在尝试使用自定义预测例程将预训练的 pytorch模型部署到 AI Platform。按照此处描述的说明进行操作后,部署失败并出现以下错误:

模型文件夹的内容大小为83.89 MB,低于文档中描述的250 MB限制。该文件夹中的唯一文件是模型的检查点文件 (.pth) 和自定义预测例程所需的 tarball。

创建模型的命令:

将运行时版本更改为1.14会导致相同的错误。我尝试将 --machine-type 参数更改为mls1-c4-m2像 Parth 建议的那样,但我仍然遇到相同的错误。

生成的setup.py文件my_custom_code-0.1.tar.gz如下所示:

预测器的相关代码片段:

此外,我在 AI Platform 中为模型启用了日志记录,并得到以下输出:

0 投票
3 回答
3011 浏览

google-cloud-platform - gcloud 项目所有者权限被拒绝

所以我试图在谷歌云的人工智能平台上运行一个训练作业,用于通过命令行用 tensorflow 编写的图像分类器:

但我不断收到错误:(gcloud.ai-platform.jobs.submit.training) User [myemail@gmail.com] does not have permission to access project [my_project] (or it may not exist): Permission denied on 'locations/value' (or it may not exist).

我不明白这是怎么可能的,因为我拥有 gcloud 上的项目(使用该电子邮件地址),甚至在 IAM 策略绑定上明确链接到它。有谁之前经历过这个吗?

额外信息:

  • 我以个人身份使用 gcloud,不涉及任何组织。因此,IAM 策略绑定中链接的唯一成员是我和 gcloud 服务帐户。

  • gcloud ai-platform local train当使用相同的参数在本地(使用)训练时,该代码可以完美运行。

0 投票
1 回答
114 浏览

google-cloud-composer - 用气流清洁过去的 ai 平台模型版本

我正在使用气流在 gcloud AI 平台中安排模型版本的训练我设法安排模型的训练,版本的创建,然后我使用此 DAG 将最后一个版本设置为默认版本:

我想在这个 dag 中清理以前版本的模型。我想我应该使用 MLEngineVersionOperator 的“列表”和“删除”操作,如下所示:

我读到了使用 Xcom 在删除中使用列表运算符的结果,但我不知道如何做到这一点。

任何有关如何进行的建议或解决方案将不胜感激。谢谢!

0 投票
0 回答
759 浏览

google-cloud-platform - 在 AI 平台笔记本中查询 BigQuery 表

我一直在对我的 gcp 的 jupyter 笔记本使用查询。当我在那里运行时,查询在 Bigquery 中运行良好(见下图)

大查询

当我使用此代码在笔记本中运行它时。

我得到这个错误。

当然,我按照回溯的建议修改了查询,但没有任何效果。gcp 中的笔记本在 bigquery 表中以不同方式访问有什么问题?

0 投票
1 回答
191 浏览

python-3.x - 如何将多个 ipynb 文件(在 GCP 中)转换为 py 文件

有什么方法可以将 ipynb 文件转换为 .py

我尝试了文件扩展名更改方法,但转换后无法执行(.py)文件。

我还看到了一种将 ipynb 文件转换为 .py (nbconvert) 的方法,但它没有用。

---->(nbconvert 方法在我的本地机器上工作)

但我需要在 GCP 中执行操作(存储在我的存储桶中的文件)

下面是我用来将 ipynb 转换为 py 的代码。无法通过此转换。

还有其他方法吗?

0 投票
2 回答
280 浏览

google-cloud-automl - 我可以为 GCP 人工智能平台培训作业指定超时吗?

我最近提交了一个训练作业,其命令如下:

(有关此命令如何工作的更多信息:https ://cloud.google.com/ml-engine/docs/training-jobs )

我的代码中有一个错误导致作业继续运行,而不是终止。两周和 61 美元后,我发现了自己的错误并取消了工作。我想确保我不会再犯这种错误。

我正在考虑使用timeout训练容器中的命令来杀死进程,如果它需要太长时间(典型的运行时间大约是 2 或 3 小时),但我不相信容器会杀死自己,我更愿意配置 GCP 来杀死它外部。

有没有办法做到这一点?

0 投票
2 回答
748 浏览

google-cloud-platform - GCP AI 平台训练不能使用全部 GPU 配额

在 GCP -> IAM & admin -> Quotas 页面上,us-central1 的服务“Compute Engine API NVidia V100 GPUs”显示限制为 4。但是当我使用以下命令在 GCP AI 平台上提交训练作业时,我收到一条错误消息允许的最大 V100 GPU 为 2。 在此处输入图像描述

这是命令:

这是错误消息:

这是Compute Engine 网页上的 GPU说明 8 个 NVIDIA® Tesla® V100 GPU 在区域us-central1-aus-central1-bus-central1-c和中可用us-central1-f。我的默认区域是us-central1-c.

我应该怎么做才能使用所有 4 个 V100 GPU 进行训练?谢谢。

更新 1(2020 年 1 月 14 日):在此页面上,它说明了需要增加的全局 GPU 配额以匹配每个区域的配额。但是我在配额页面上的任何地方都找不到它。

为了保护 Compute Engine 系统和用户,新项目具有全局 GPU 配额,这限制了您可以在任何受支持的区域中创建的 GPU 总数。当您申请 GPU 配额时,您必须为要在每个区域创建的 GPU 模型申请一个配额,并为所有区域中所有类型的 GPU 总数申请一个额外的全局配额。

更新 2(2020 年 1 月 14 日):我联系了 GCP 以增加全球 GPU 配额以匹配我的区域配额。他们回答说,对于某些项目,这是需要的,但对于我的项目,没有必要这样做。

0 投票
3 回答
730 浏览

tensorflow - 向 Google 云提交 Keras 培训作业

我正在尝试遵循本教程: https ://medium.com/@natu.neeraj/training-a-keras-model-on-google-cloud-ml-cb831341c196

在 Google Cloud Platform 上上传和训练 Keras 模型,但我无法让它工作。

现在我已经从 GitHub 下载了这个包,我已经创建了一个带有 AI-Platform 和一个存储桶的云环境。

我正在将文件(具有建议的文件夹结构)上传到我的 Cloud Storage 存储桶(基本上到我的存储的根目录),然后在云终端中尝试以下命令:

但是我收到错误,首先找不到 cloudml-gpu.yaml文件,它说“没有这样的文件夹或文件”,然后试图删除它,我收到错误,因为它说--init--.py文件丢失,但它不是,即使它是空的(当我从教程 GitHub 下载时)。我猜我没有以正确的方式上传它。

关于我应该如何做到这一点的任何建议?教程本身中确实没有这方面的信息。

我在另一个指南中读到可以让 gcloud 打包并直接上传作业,但我不确定如何执行此操作或在我的终端中使用命令在哪里编写gcloud命令?还是在浏览器的 Cloud Shell 中?以及如何定义我的 python 文件所在的路径?

应该提到我正在使用 Mac,并且对使用 Keras 和 Python 非常陌生。