【发布时间】:2018-06-17 17:12:05
【问题描述】:
我的模型是:
weights = {
'h1': tf.Variable(tf.random_normal([num_input, num_hidden_1]),name="h1"),
'h2': tf.Variable(tf.random_normal([num_hidden_1, num_hidden_2]),name="h2"),
'h3': tf.Variable(tf.random_normal([num_hidden_2, num_hidden_3]),name="h3"),
'wout': tf.Variable(tf.random_normal([num_hidden_3, num_output]),name="wout")
}
biases = {
'b1': tf.Variable(tf.random_normal([num_hidden_1]),name="b1"),
'b2': tf.Variable(tf.random_normal([num_hidden_2]),name="b2"),
'b3': tf.Variable(tf.random_normal([num_hidden_3]),name="b3"),
'bout': tf.Variable(tf.random_normal([num_output]),name="bout")
}
我知道如何使用tf.is_nan 检查单个元素是否为 NaN:
def save_weights():
if sess.run(tf.is_nan(sess.run(weights["h1"]).tolist()[0][0])):
utils.printflush("weights have nan, refused to save")
当然,我可以遍历 Python 中的所有元素,但是对于一百万个权重和偏差,这很耗时。是否有 TensorFlow 操作可以做到这一点(迭代我所有的模型变量)?
【问题讨论】:
标签: python loops tensorflow nan