rate = K.variable(0.0,name='KL_Annealing')annealing_rate = 0.0001def vae_loss(y_true,y_pred): global annealing_rate global rate xent_loss = keras.losses.categorical_crossentropy(y_true, y_pred) kl_loss = -rate * K.mean(1 + output_log - K.square(output_mean) - K.exp(output_log), axis=-1) rate = K.tf.assign_add(rate,annealing_rate) annealing_rate *= 2 rate = K.tf.assign(rate,K.clip(rate,0.0,1.0)) return xent_loss + kl_lossrate = K.variable(0.0,name='KL_Annealing')annealing_rate = 0.0001def vae_loss(y_true,y_pred): global annealing_rate global rate xent_loss = keras.losses.categorical_crossentropy(y_true, y_pred) kl_loss = -rate * K.mean(1 + output_log - K.square(output_mean) - K.exp(output_log), axis=-1) rate = K.tf.assign(rate,annealing_rate) annealing_rate *=1.05 rate = K.tf.assign(rate,K.clip(rate,0.0,1.0)) return xent_loss + kl_loss