Так что я играл с этим интересным применением tensorflow: TensorKartNaN результат при суммировании двух тензоров, которые по отдельности оба действительные числа
Полный исходный код здесь: https://github.com/kevinhughes27/TensorKart
Я получаю NaN приводит к моему вычислению потерь, и это полностью меня озадачило. Проблема заключается в этой строке кода:
loss = tf.reduce_mean(tf.square(tf.sub(model.y_, model.y))) + tf.add_n([tf.nn.l2_loss(v) for v in train_vars]) * L2NormConst
Когда я оцениваю первую часть:
tf.reduce_mean(tf.square(tf.sub(model.y_, model.y)))
Я получаю значения около 0,8 Когда я оцениваю вторую часть:
tf.add_n([tf.nn.l2_loss(v) for v in train_vars]) * L2NormConst
Я получаю значения около 3.1
НО, когда я суммирую две части, я получаю NaN?!?!
Я проверил форму и типы, и они оба возвращаются, как: Tensor ("Форма: 0", форма = (0,), DTYPE = int32)
Вещи, которые я пытался: с помощью ТФ .reduce_sum вместо tf.add_n, отбрасывая их на tf.float32, суммируя их с tf.add ....
У кого-нибудь есть идеи?