我在MNIST上运行深度神经网络,其中损失定义如下:
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(pred, label))
该程序似乎运行正常,直到我在10000多个小批量中获得纳米损失.有时,程序正常运行直到完成.我想tf.nn.softmax_cross_entropy_with_logits是给了我这个错误.这很奇怪,因为代码只包含mul和add操作.
也许我可以用:
if cost == "nan":
optimizer = an empty optimizer
else:
...
optimizer = real optimizer
Run Code Online (Sandbox Code Playgroud)
但我找不到那种类型nan.我该如何检查变量nan?
我怎么能解决这个问题?
我想限制 GPU 服务器中进程的 CPU 使用率。我找到了一些方法,“ nice”或“ cpulimit”。但它们并不完全是我想要的。
cpulimit允许一个进程以它想要的速度运行,直到它超过一个百分比,然后它会得到一个 SIGSTOP,然后是一个睡眠和一个 SIGCONT。
但我不希望超过百分比的过程进入睡眠状态。我只是希望它不要超过一定的百分比。并保持它以正常方式运行。
例如,当我运行时cpulimit -p 1111 -l 30,终端将是
[1]+ Stopped
这不是我想要的。