Reemplace los valores de nan en el tensor de tensor de flujo

Estoy trabajando en una neural network convolucional en tensorflow y tengo un problema. El problema es que la imagen de entrada que leí a través de tfrecords contiene un cierto número de valores nan. La causa de esto es que la imagen representa un mapa de profundidad que tiene algunos valores infinitos, y en el proceso de codificarlo en el registro de caracteres y luego decodificarlo para alimentarlo a la red, estos valores infinitos se convierten en valores nanométricos.

Ahora, ya que en mi situación, reemplazar los valores infinitos en la imagen original antes de codificarlos en los tfrecors no es una opción, hay una manera de que pueda reemplazar los valores de nan en mi tensor de imagen como una operación que debo hacer antes de enviarlo al ¿red?

Una combinación de tf.where y tf.is_nan debería funcionar:

 import tensorflow as tf with tf.Session(): has_nans = tf.constant([float('NaN'), 1.]) print(tf.where(tf.is_nan(has_nans), tf.zeros_like(has_nans), has_nans).eval()) 

Impresiones (utilizando TensorFlow 0.12.1):

 [ 0. 1.]