3

我正在运行谷歌云机器学习测试版 - 并使用带有 tensorflow 的 hypertune 设置。

在超参数调整的一些子运行中,我的损失变成了 NaN - 这使计算崩溃 - 这反过来又停止了超参数调整工作。

Error reported to Coordinator: <class  'tensorflow.python.framework.errors.InvalidArgumentError'>, 
Nan in summary histogram for: softmax_linear/HistogramSummary [[Node: softmax_linear/HistogramSummary = HistogramSummary[T=DT_FLOAT, 
_device="/job:master/replica:0/task:0/cpu:0"]
(softmax_linear/HistogramSummary/tag, softmax_linear/softmax_linear)]] 
Caused by op u'softmax_linear/HistogramSummary', defined at: File   
"/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main 

处理这些的规范方法是什么?我应该保护损失函数吗?

谢谢

4

1 回答 1

1

您应该通过检查 NaN 来保护损失函数。程序抛出的任何崩溃或异常都会被 Cloud ML 视为试验失败,如果有足够多的试验失败,则整个作业将失败。

如果 Trial 在没有设置任何超参数摘要的情况下干净地退出,则 Trial 将被认为是不可行的,并且与这些相似的超参数不太可能再次尝试,但不会出错。

于 2016-10-06T17:09:06.370 回答