add a grid eval function to training