import tensorflow as tf

    hessians = [] #store the hessian for different epochs
    residuals= [] #store the value of the residuals for different epochs
    #gs = []       #store the value of the phase space factor for different epochs

    if with_hessian == True: #if true, it evaluates
        hess =  hessian(grads, tvars) #Hessian matrix
        res  =  tf.subtract(an, Y)    #residual error

    #---------------------------Initialize evaluation metrics----------------------------------------------------
    e_len = len(epoch_sample)

    acc_train = [] #store train accuracy for each epoch
