标签: google-cloud-ml-engine

如何计算Cloud ML作业的成本?

我的Cloud ML培训工作完成了输出:

"consumedMLUnits": 43.24
Run Code Online (Sandbox Code Playgroud)

如何使用此信息确定培训工作的成本?我无法决定以下两个选项:

1)根据这个页面,我应该按照工作期限(4.5小时)的ML单位数乘以0.49美元(因为我位于美国).所以:

$0.49 x 43.24 x 4.5 = $95.3442

2)另一方面,我的经验是,长时间运行的培训工作导致更高的价值consumedMLUnits,这表明持续时间已经纳入该指标.如果是这样,我认为计算将是:

$0.49 x 43.24 = $21.1876

哪一项是正确的?

google-cloud-ml-engine

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

为什么执行gcloud ml-engine作业时加速器不足?

我正在尝试在Google Cloud中运行机器学习Jon,但它总是告诉我没有足够的加速器可用,我已尝试使用该参数----scale-tier=BASIC | BASIC_GPU | STANDARD_1 | PREMIUM_1.并且是相同的结果.

这是命令和结果:

gcloud ml-engine jobs submit training object_detection_`date +%s`     --job-dir=gs://${TRAIN_DIR}     --packages dist/object_detection-0.1.tar.gz,slim/dist/slim-0.1.tar.gz     --module-name object_detection.train     --region us-central1     --config ${PATH_TO_LOCAL_YAML_FILE}     --     --train_dir=gs://${TRAIN_DIR}     --pipeline_config_path=gs://${PIPELINE_CONFIG_PATH}
ERROR: (gcloud.ml-engine.jobs.submit.training) RESOURCE_EXHAUSTED: Field: scale_tier Error: Insufficient accelerators are available in region us-central1 to schedule the job which requests 6 K80 accelerators. Please wait and try again or else try submitting your job to a different region.
- '@type': type.googleapis.com/google.rpc.BadRequest
  fieldViolations:
  - description: Insufficient accelerators are available in region us-central1 …
Run Code Online (Sandbox Code Playgroud)

google-cloud-platform google-cloud-ml-engine

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

Tensorboard的零值分数应如何解释?

I am running a cloud ML engine job and my tensorboard plots are showing the fraction of zero values for my hidden layers steadily increasing towards 1 as the number of steps increases. How should this plot be interpreted? I believe it is a good thing as more zero values would suggest that the model is getting more "certain" about the predictions that it is making.

张量板:零值的隐藏层分数

tensorflow tensorboard google-cloud-ml-engine

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

使用每晚的TensorFlow构建进行Cloud ML Engine培训

如果我需要在Cloud ML Engine培训工作中使用每晚的TensorFlow构建,该如何做?

google-cloud-ml google-cloud-ml-engine

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

Tensorboard + Keras + ML引擎

我目前使用Google Cloud ML Engine设置来训练在Keras中创建的模型.使用Keras时,ML Engine似乎不会自动将日志保存到存储桶中.我在ML Engine Jobs页面中看到了日志,但它们没有显示在我的存储桶中,因此我无法在训练时运行tensorboard.

您可以看到作业已成功完成并生成日志:在此输入图像描述

但是我的存储桶中没有保存日志:在此输入图像描述

我在设置环境时遵循了本教程:(http://liufuyang.github.io/2017/04/02/just-another-tensorflow-beginner-guide-4.html)

那么,在ML Engine上训练Keras模型时,如何获取日志并运行tensorboard?还有其他人在这方面取得了成功吗?

keras tensorboard google-cloud-ml-engine

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

如何更改 SavedModel 的签名而不重新训练模型?

我刚刚完成模型的训练,却发现我导出的服务模型存在签名问题。我如何更新它们?

(一个常见问题是为 CloudML Engine 设置错误的形状)。

tensorflow tensorflow-serving google-cloud-ml google-cloud-ml-engine

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

使用tf.estimator进行分布式培训,从而产生更多培训步骤

我正在试验Cloud ML Engine上的分布式培训选项,并观察了一些奇特的结果.我基本上改变了人口普查自定义估算器示例,以包含一个略有不同的模型,并将我的损失函数更改为AdamOptimizer作为唯一真正的更改.基于这个其他线程,我的理解是任何分布式培训都应该是数据并行异步培训,这表明"如果在10个工作节点中分配10,000个批次,则每个节点大约可以处理1000个批次".在我的实验中,我有大约650k的训练样例,我正在运行以下实验,一个批次大小为128的1个纪元.鉴于650k训练样例和128个批量大小,我希望在一个大约5.1k步骤时代.这是我为不同--scale-tier的人所看到的表现

没有分发

  • 基本:8步/秒,5.1k步,11分钟的挂壁时间
  • BASIC_GPU:24步/秒,5.1k步,3.5分钟挂壁时间

分散式

  • STANDARD_1:14.5步/秒 - 26k步(26k*128 = ~3.3M,这比实际数据中的训练样本多),29分钟的停留时间

  • CUSTOM - 5个complex_model_m工作人员,2个large_model参数服务器:27步/秒,31k步(128*31k = ~3.9M,这比实际数据中的650k训练样本多),挂机时间20分钟

我的期望是基于文章的数据平行是分布式培训会将批次分成所有工人,所以如果我有5个批次的5个工人,那么每个工人将执行~1,000批次.然而,我观察到的实际行为似乎更接近于自己执行1个时代的5名工人中的每一个.在分布式设置中进行训练时,在一个时代中采取的步数是训练样例的6倍 - 我知道步骤的真正定义是每次更新渐变时,但我对数据并行训练的理解是这只会拆分批次,所以应该有相同数量的渐变更新 - 有什么理由为什么会出现这种行为?在数据并行异步训练分布式环境中需要更多的训练步骤是否有意义?任何人都可以解释我观察到的行为吗?

python tensorflow google-cloud-ml-engine

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

使用gcloud ml服务大图像

我有一个训练有素的网络张量流,我希望在gcloud ml-engine中用于预测.

预测gcloud ml服务应接受大小为320x240x3的numpy数组float32类型图像并返回2个微小矩阵作为输出.

有谁知道我应该如何创建接受这种输入类型的输入图层?

我尝试了多种方法,例如使用base64编码的json文件,但是将字符串转换为float类型会产生一个不支持的错误:

"error": "Prediction failed: Exception during model execution: LocalError(code=StatusCode.UNIMPLEMENTED, details=\"Cast string to float is not supported\n\t [[Node: ToFloat = Cast[DstT=DT_FLOAT, SrcT=DT_STRING, _output_shapes=[[-1,320,240,3]], _device=\"/job:localhost/replica:0/task:0/cpu:0\"](ParseExample/ParseExample)]]\")"
Run Code Online (Sandbox Code Playgroud)

这是创建json文件的示例(在将上面的numpy数组保存为jpeg之后):

python -c 'import base64, sys, json; img = base64.b64encode(open(sys.argv[1], "rb").read()); print json.dumps({"images": {"b64": img}})' example_img.jpg &> request.json

而tensorflow命令试图处理输入:

raw_str_input = tf.placeholder(tf.string, name='source')
feature_configs = {
                'image': tf.FixedLenFeature(
                    shape=[], dtype=tf.string),
            }
tf_example = tf.parse_example(raw_str_input, feature_configs)
input = tf.identity(tf.to_float(tf_example['image/encoded']), name='input')
Run Code Online (Sandbox Code Playgroud)

以上是其中一个测试的例子,也尝试了多次尝试不同的tensorflow命令来处理输入,但没有一个工作...

numpy tensorflow google-cloud-ml-engine

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

如何在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
查看次数

对ml.google.com Predict端点的基本REST调用

我试图简单地调用我训练的模型的REST API端点,我遇到了问题.我一直称为端点并获得404.

有人知道如何设置此端点的基本教程吗?我只想在Postman中运行它并测试它的工作原理我可以继续我的项目.

任何帮助,将不胜感激!提前致谢!

google-cloud-ml-engine

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