def binary_crossnetropy_no_NaN(y_true, y_pred): return K.sum(K.binary_crossentropy( K.switch(K.is_nan(y_true), y_pred, y_true), y_pred), axis=-1)
def mse_no_NaN(y_true, y_pred): '''For each sample, sum squared error ignoring NaN values''' return K.sum(K.square( K.switch(K.logical_not(K.is_nan(y_true)), y_true, y_pred) - y_pred), axis=-1)
def mse(y_true, y_pred): cost = K.abs(y_pred - y_true) costs = K.where(K.is_nan(cost), T.zeros_like(cost), cost) return K.sum(costs, axis=-1)
def mse_ignore_na(y_true, y_pred): return K.mean(K.switch(K.is_nan(y_true), 0, K.square(y_pred - y_true)))
def mse(y_true, y_pred): y_true = K.where(K.is_nan(y_true), y_pred, y_true) cost = K.abs(y_pred - y_true) return K.sum(cost, axis=-1)