问题标签 [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 - 有没有办法在不轮询 REST API 的情况下通知 Google AI Platform 训练作业的状态变化?
现在,我通过轮询作业 REST API来监控我在 Google AI Platform(以前称为 ml 引擎)上提交的作业。我不喜欢这个解决方案有几个原因:
- 如果状态更改之间的间隔小于监控轮询率,则通常会延迟或完全错过对状态更改的感知
- 大量不必要的网络流量
- 大量不必要的函数调用
我希望在我的培训工作完成后立即收到通知。如果有某种方法可以分配挂钩或回调以在作业状态更改时运行,那就太好了。
我还考虑直接在 AI Platform 上运行的训练任务 python 包中添加对云函数的调用。但是,我认为这些函数调用不会发生在训练作业意外关闭的情况下,例如当作业被 GCP 取消或强制结束时。
有没有更好的方法来解决这个问题?
python - 从 python 脚本使用谷歌云存储桶中的数据文件
试图加载一个数据文件,我已经从我的 python 脚本(它是一个 keras 模型训练作业)上传到我的谷歌云存储桶,但继续获取。IOError:[Errno 2] 没有这样的文件或目录:'gs://mykerasstorage/my_dataset.npy'。Altought文件最明确地上传到那个地方。我用来读取数据集的代码是:
python - 在 AI Platform (CMLE) 上使用 tensorflow_dataset 库
我正在为 mnist 数据集使用 tesorflow_datasets 库在 GCP AI 平台上进行训练。我正在使用 tf.gan 估计器。我编写了一个使用 tfds 库读取 mnist 数据的输入管道。
我已经在实例上使用相同的“tensorflow_datasets”库训练了我的 gan 模型,并且模型训练良好。我已将代码打包到包中,以便在 AI Platform 上运行。在 AI Platform 上训练期间,训练卡在警告中,它显示,
尽管训练停滞不前,但消耗的 ML 单元不断增加。
google-cloud-platform - 您如何通过 Google Cloud Composer 安排 GCP AI Platform 笔记本?
我的任务是通过 Papermill 操作员自动安排一些日常运行的笔记本,这些笔记本在 AI 平台笔记本上,但实际上通过 Cloud Composer 执行此操作给我带来了一些麻烦。
任何帮助表示赞赏!
google-cloud-platform - 我们如何在 AI Platform Training 上获取 GCP 项目 ID?
我想在 AI Platform 上获取我的 GCP 项目 ID。我尝试过了
- 使用元数据服务器
- 跑
gcloud config get-value project
但是,AI Platform 实例似乎在我的 GCP 项目之外工作。
google-cloud-storage - 如何等到工作完成或气流中的文件更新
我正在尝试使用带有 google cloud-composer 的 apache-airflow 来调度批处理,从而使用 google ai 平台训练模型。正如我在这个问题中解释的那样,我未能使用气流运算符无法在 MLEngineTrainingOperator 中指定 master_type
使用命令行我成功地启动了一项工作。所以现在我的问题是将这个命令集成到气流中。
使用 BashOperator 我可以训练模型,但在创建版本并将其设置为默认值之前,我需要等待作业完成。此 DAG 在作业完成之前创建一个版本
训练导致 Gcloud 存储中的文件更新。所以我正在寻找一个等到这个文件更新的操作员或传感器,我注意到 GoogleCloudStorageObjectUpdatedSensor,但我不知道如何让它重试,直到这个文件更新。另一种解决方案是检查要完成的工作,但我也找不到方法。
任何帮助将不胜感激。
python - GCP AI 平台自定义预测例程无法使用管道加载模型,错误:92
我目前正在尝试使用https://cloud.google.com/ai-platform/prediction/docs/custom-prediction-routine-scikit-learn作为指导将模型部署到 GCP AI 平台。运行时gcloud beta ai platform versions create
出现以下错误,截至 2020 年 2 月 20 日没有命中:
我的模型是一个 Sci-kit 学习多项式朴素贝叶斯分类器,它在管道中使用两个 tf/idf 矢量化器(word 和 char 级别)。我使用 joblib 版本 0.13.0 存储整个管道,它与 GCP 支持的版本匹配(链接:https ://cloud.google.com/ai-platform/prediction/docs/runtime-version-list )。
按照教程,我已经 tar.gz'ed 应该提供此服务的代码并将模型和腌制预处理器存储在存储桶中。按照其他地方的建议,我还将预处理器与 joblib 一起存储,遗憾的是它也不起作用。
我已经joblib.load
很好地编辑了模型并在 0.13.0 中提供了预测,所以我要拔掉头发了。
更新:我已经检查并重做了几次酸洗/作业库,甚至设置了一个新的 virtualenv 以匹配 1.15 并从头开始重做培训。
我求助于将我的模型暴露在烧瓶应用程序后面并将其部署到应用程序引擎,这运行良好,但对于两个模型来说可能有点矫枉过正。工作正常。
java - 用于监控来自 Google AI Platform 的模型训练状态的 Android 应用
我正在尝试使用 Java 和 Android Studio 构建一个 Android 应用程序,它将监控您的模型在 Google Cloud AI 平台上的训练状态,并在训练完成后向可穿戴设备发送通知。
我一直在寻找可以使用的 API,但我有点困惑,因为我看到很多人在谈论“生成的 api”。到目前为止,我认为这是我需要使用的,但我不确定它是否适用于 Android。
有什么建议我怎样才能做到这一点?谢谢。
python - 如何将后处理层添加到已保存的 Google AI Platform 模型?
我正在做一个关于超分辨率的项目,所以我得到一个图像作为输入并返回一个更大的图像(x2,x4)作为输出。我正在尝试将模型上传到AI 平台,但我遇到了组合 GPU - 预测替代方案的问题。
我能够毫无问题地制作自定义预测代码,输入和输出是 base64 jpg 图像。但我不能使用 GPU 机器进行这种预测。
我尝试从我的 keras 模型生成一个 Estimator,然后创建一个SavedModel 用于在线预测,但我只能定义用于解码 jpg 图像的服务输入函数,但我无法为输出定义等效函数,因此在线预测平台正在返回非常大的原始图像的 json 文件(对于 13K jpg 图像的输入,它返回 19MB 原始图像)
有什么方法可以在 SaveModel 上定义后预测步骤,以便能够在回答请求实例之前将原始图像编码为 jpg 格式?我想使用目前不可用于自定义预测例程的 GPU 机器。
gcloud - 将存储桶中的数据(图像)流式传输到谷歌 AI 平台上的训练作业
我正在使用 keras 进行培训工作。整个代码的计算量很大,它应该训练的图像数量约为 30GB。训练图像存储在 Google 存储中。我为我的训练脚本创建了一个 docker 容器,并且每个容器都按照计划运行良好。我注意到图像被复制到正在分配的 VM 中,将图像从 Google 存储复制到训练作业大约需要 1 个半小时。这增加了训练时间,不适合我,因为图像数量每周至少增长 1GB。我之前曾使用过 AWS 培训作业,这让我可以选择将文件从 S3 传输到 Sagemaker 培训作业,其中输入可以“管道”到培训作业中。