<p>Although the other answer basically already gives you the correct result, I would like to clarify on a few points you made in your post, and correct it.<br/>
The (commonly accepted) definitions of the different terms are as follows.</p>

<ul>
<li><strong>Gradient Descent (GD)</strong>: Iterative method to find a (local or global) optimum in your function. Default Gradient Descent will <em>go through all examples</em> (one epoch), then update <strong>once</strong>.</li>
<li><strong>Stochastic Gradient Descent (SGD)</strong>: Unlike regular GD, it will <em>go through one example</em>, then <strong>immediately update</strong>. This way, you get a way higher update rate.</li>
<li><strong>Mini Batching</strong>: Since the frequent updates of SGD are quite costly (updating the gradients is kind of tedious to perform), and can lead to worse results in certain circumstances, it is helpful to aggregate <em>multiple (but not all) examples into one update</em>. This means, you would go through <em>n</em> examples (where <em>n</em> is your batch size), and <strong>then update</strong>. This will still result in multiple updates within one epoch, but not necessarily as many as with SGD.</li>
<li><strong>Epoch</strong>: One epoch simply refers to a pass through all of your training data. You can generally perform as many epochs as you would like.</li>
</ul>

<p>One another note, you are correct about <a href="https://arxiv.org/abs/1412.6980" rel="nofollow noreferrer">ADAM</a>. It is generally seen as a more powerful variant of vanilla gradient descent, since it uses more sophisticated heuristics (first order derivatives) to speed up and stabilize convergence.</p>
Mini Batch Gradient Descent, adam and epochs
<p>I am taking a course on Deep Learning in Python and I am stuck on the following lines of an example:</p>

<pre><code>regressor.compile(optimizer = 'adam', loss = 'mean_squared_error')
regressor.fit(X_train, y_train, epochs = 100, batch_size = 32)
</code></pre>

<p>From the definitions I know, 
1 epoch = going through all training examples once to do one weight update.</p>

<p><code>batch_size</code> is used in optimizer that divide the training examples into mini batches. Each mini batch is of size <code>batch_size</code>. </p>

<p>I am not familiar with adam optimization, but I believe it is a variation of the GD or Mini batch GD. Gradient Descent - has one big batch (all the data), but multiple epochs. Mini Batch Gradient Descent - uses multiple mini batches, but only 1 epoch.</p>

<p>Then, how come the code has both multiple mini batches and multiple epochs? 
Does epoch in this code has a different meaning then the definition above?</p>