google 云机器学习超参数调优避免 Nans

google cloud machine learning hyperparameter tuning avoid Nans

我是 运行 google 云机器学习测试版 - 并使用 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 

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

谢谢

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

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