python - 谷歌云机器学习超参数调优避免Nans

标签 python machine-learning tensorflow google-cloud-ml

我正在运行谷歌云机器学习测试版 - 并使用带有 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 视为试验失败,如果试验失败的次数过多,则整个作业都将失败。

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

关于python - 谷歌云机器学习超参数调优避免Nans,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39890785/

相关文章:

使用多个参数运行 exe 文件的 Python 脚本

python - 在 Python 中,如何检查列表中的 2 个数字是否在彼此的一定百分比内?

javascript - BLOSUM62(或 45)在 JavaScript 中评分

machine-learning - 将 optim.step() 与 Pytorch 的 DataLoader 一起使用

python - pip install AttributeError : _DistInfoDistribution__dep_map

python - cython_bbox.so : undefined symbol: _Py_ZeroStruct

python - lxml.html 解析和带有请求的 utf-8

python - 为什么我的 TensorFlow 神经网络的 XOR 精度只有 0.5 左右?

machine-learning - 使用机器学习算法仅根据内容而不是用户历史记录来查找类似产品的正确方法

python - 导入错误 : cannot import name 'keras'