标签: google-cloud-ml

腌制scipy稀疏矩阵作为输入数据?

我正在研究一个多类别分类问题,包括对简历进行分类.

我使用了sklearn及其TfIdfVectorizer来获得一个大的scipy稀疏矩阵,我在酸洗后用Tensorflow模型提供.在我的本地机器上,我加载它,将一小批转换为密集的numpy数组并填充一个feed字典.一切都很好.

现在我想在ML云上做同样的事情.我的pickle存储在gs://my-bucket/path/to/pickle但是当我运行我的教练时,在这个URI(IOError: [Errno 2] No such file or directory)中找不到pickle文件.我pickle.load(open('gs://my-bucket/path/to/pickle), 'rb')用来提取我的数据.我怀疑这不是在GCS上打开文件的好方法,但我对Google Cloud完全不熟悉,而且我找不到正确的方法.

另外,我读到必须使用TFRecords或CSV格式输入数据,但我不明白为什么我的方法无法工作.由于矩阵的密集表示太大而无法放入内存,因此不包括CSV.TFRecords可以有效地编码稀疏数据吗?是否可以从pickle文件中读取数据?

google-cloud-ml

2
推荐指数
1
解决办法
459
查看次数

在 Cloud ML 上运行的 Tensorflow 对象检测错误:没有模块 object_detection.train

不确定这是否是错误(文件报告),或者我做错了什么。

系统信息:

Linux 17.04 TensorFlow 版本:1.9.0 Python 版本:2.7.13

我使用的命令:

gcloud ml-engine jobs submit training object_detection_$(date +%Y%m%d_%H%M%S)  \
    --job-dir="gs://mybucket/train" \
    --packages dist/object_detection-0.1.tar.gz,slim/dist/slim-0.1.tar.gz \
    --module-name object_detection.train \
    --region us-central1 \
    --config /home/me/Desktop/die_detection/config.yml \
    -- \
    --train_dir="gs://mybucket/train" \
    --pipeline_config_path="gs://mybucket/data/pipeline_cloud.config"
Run Code Online (Sandbox Code Playgroud)

尝试遵循此示例,但使用我自己的数据:https : //github.com/tensorflow/models/blob/master/research/object_detection/g3doc/running_pets.md

在本地工作正常。在 CloudML Engine 上运行,我得到非 0 退出状态。从日志中似乎找不到 object_detection.train 。

源代码/日志

E  The replica ps 0 exited with a non-zero status of 1. Termination reason: Error. To find out more about why your job exited please check the logs: https://console.cloud.google.com/logs/viewer?project=730275006403&resource=ml_job%2Fjob_id%2Fobject_detection_20180725_090524&advancedFilter=resource.type%3D%22ml_job%22%0Aresource.labels.job_id%3D%22object_detection_20180725_090524%22 
  undefined
E …
Run Code Online (Sandbox Code Playgroud)

google-cloud-platform tensorflow google-cloud-ml

2
推荐指数
1
解决办法
921
查看次数

使用 keras 在 gcloud ml-engine 上处理 TB 数据的最佳方法

我想在 gcloud 存储上大约 2TB 的图像数据上训练一个模型。我将图像数据保存为单独的 tfrecords 并尝试在此示例之后使用 tensorflow 数据 api

https://medium.com/@moritzkrger/speeding-up-keras-with-tfrecord-datasets-5464f9836c36

但似乎 kerasmodel.fit(...)不支持基于 tfrecord 数据集的验证

https://github.com/keras-team/keras/pull/8388

是否有更好的方法来处理来自我缺少的 ml-engine 的 keras 的大量数据?

非常感谢!

keras tensorflow google-cloud-ml tfrecord tensorflow-datasets

2
推荐指数
1
解决办法
649
查看次数

有没有办法在不轮询 REST API 的情况下收到 Google AI Platform 训练作业中状态变化的通知?

现在,我通过轮询作业 REST API 来监控我在 Google AI Platform(以前称为 ml 引擎)上提交的作业。我不喜欢这个解决方案有几个原因:

  1. 如果状态更改之间的间隔小于监视轮询率,则状态更改的感知通常会延迟或完全错过
  2. 大量不必要的网络流量
  3. 大量不必要的函数调用

我希望在我的培训工作完成后立即收到通知。如果有某种方法可以在作业状态更改时分配挂钩或回调以运行,那就太好了。

我还考虑过在 AI Platform 上运行的训练任务 python 包中直接添加对云函数的调用。但是,我认为这些函数调用不会发生在训练作业意外关闭的情况下,例如当作业被 GCP 取消或强制结束时。

有没有更好的方法来解决这个问题?

google-cloud-platform google-cloud-ml gcp-ai-platform-training

2
推荐指数
1
解决办法
468
查看次数

如何使用Python删除部署到Unified AI Platform上端点的模型?

我已在 Unified Cloud AI Platform 上成功创建了一个端点,并向Model其部署了两个端点 -分别具有 20% 和 80% 的流量。我有第三个-我之前部署过,现在流量为 0%。Model BModel CModelModel A

现在,在云控制台(UI)上,我可以选择取消部署Model A,并且可以成功执行此操作。但是我无法弄清楚如何使用 Python 客户端 API 来执行此操作。

这里提供的文档不足以理解我们如何做到这一点。任何帮助将不胜感激。

python google-cloud-platform google-cloud-ml google-ai-platform

2
推荐指数
1
解决办法
1564
查看次数

如何在tf.Transform中使用Google DataFlow Runner和Templates?

我们正在Google Cloud上建立机器学习管道,利用GC ML-Engine进行分布式TensorFlow培训和模型服务,并利用DataFlow进行分布式预处理作业.

我们希望在Google Cloud上运行我们的Apache Beam应用程序作为DataFlow作业.看看ML-Engine样本 ,似乎可以得到tensorflow_transform.beam.impl AnalyzeAndTransformDataset来指定使用哪个PipelineRunner,如下所示:

from tensorflow_transform.beam import impl as tft
pipeline_name = "DirectRunner"
p = beam.Pipeline(pipeline_name) 
p | "xxx" >> xxx | "yyy" >> yyy | tft.AnalyzeAndTransformDataset(...)
Run Code Online (Sandbox Code Playgroud)

TemplatingDataflowPipelineRunner提供了将预处理开发与参数化操作分开的功能 - 请参阅此处:https://cloud.google.com/dataflow/docs/templates/overview-基本上:

  • A)在PipelineOptions派生类型中,将选项类型更改为ValueProvider(python方式:类型推断或类型提示???)
  • B)将跑步者改为TemplatingDataflowPipelineRunner
  • C) mvn原型:生成以GCS存储模板(python方式:像TF Hypertune一样的yaml文件???)
  • D)运行gcloud beta数据流作业--gcs-location -parameters

现在的问题是:你能告诉我,我们怎能用tf.Transform利用TemplatingDataflowPipelineRunner

google-cloud-dataflow tensorflow apache-beam google-cloud-ml google-cloud-ml-engine

1
推荐指数
1
解决办法
656
查看次数

我必须将数据集转换为Google Cloud ML Engine的TFRecords吗?

是否可以在Google Cloud ML Engine中训练模型而无需将数据集转换为TFRecords?

machine-learning tensorflow google-cloud-ml

1
推荐指数
1
解决办法
180
查看次数

如何在 Google Cloud ML 上使用 pandas.read_csv?

我正在尝试在 Google Cloud ML 上部署训练脚本。当然,我已经将我的数据集(CSV 文件)上传到了 GCS 的存储桶中。

我曾经使用 read_csv 从 Pandas 导入我的数据,但它似乎不适用于 GCS 路径。

我应该如何进行(我想继续使用熊猫)?

import pandas as pd
data = pd.read_csv("gs://bucket/folder/file.csv")
Run Code Online (Sandbox Code Playgroud)

输出 :

ERROR 2018-02-01 18:43:34 +0100 master-replica-0 IOError: File gs://bucket/folder/file.csv does not exist
Run Code Online (Sandbox Code Playgroud)

python pandas google-cloud-storage google-cloud-ml

1
推荐指数
1
解决办法
3270
查看次数

输入实例不是 JSON 格式

我正在使用位于此处的Google 公共模板和示例练习 GCP ML 引擎

在我运行示例“housing-regression” LOCALLY 中的代码后,模型成功生成。

然而,在预测中,出现了错误

错误:(gcloud.ml-engine.local.predict) 输入实例不是 JSON 格式。

有关详细信息,请参阅“gcloud ml-engine predict --help”。

我运行的代码在 local-train.sh

gcloud ml-engine local predict --model-dir=${MODEL_LOCATION} --json-instances=data/new-data.json
Run Code Online (Sandbox Code Playgroud)

有没有人有同样的问题?我是不是在某个地方犯了错误,或者我可能遗漏了一些信息?

笔记:

  1. 此代码使用我已安装的 GCP SDK 在我的 Mac 上本地运行
  2. 我检查了该文件,它确实是一个 JSON 文件。

google-cloud-platform google-cloud-ml

1
推荐指数
1
解决办法
889
查看次数