epoch - one iteration through the entire dataset (can be in random order if you use shuffle)
batch - what epochs consists of
Say you have 100 examples in your train set. One full run of training your model on all the examples in the train set == epoch. If your batch size is 20, your model will be presented with 5 batches each containing 20 images during a single epoch of training.