title: What's the difference between "samples_per_epoch" and "steps_per_epoch" in fit_generator
body: <p>I was confused by this problem for several days...</p>
  
  <p>My question is that why the training time has such massive difference between that I set the batch_size to be "1" and "20" for my generator.</p>
  
  <p>If I set the <strong>batch_size</strong> to be <strong>1</strong>, the <strong>training time</strong> of <em><strong>1 epoch</strong></em> is approximately <strong>180 ~ 200 sec</strong>.
  If I set the <strong>batch_size</strong> to be <strong>20</strong>, the <strong>training time</strong> of <strong>1 epoch</strong> is approximately <strong>3000 ~ 3200 sec</strong>. </p>
  
  <p>However, this horrible difference between these training times seems to be abnormal..., since it should be the reversed result:
  batch_size = 1, training time -> 3000 ~ 3200 sec.
  batch_size = 20, training time -> 180 ~ 200 sec.</p>
  
  <p>The input to my generator is not the file path, but the numpy arrays which are already loaded into the
  memory via calling "np.load()".
  So I think the I/O trade-off issue doesn't exist.</p>
  
  <p>I'm using Keras-2.0.3 and my backend is tensorflow-gpu 1.0.1</p>
  
  <p>I have seen the update of this merged <a href="https://github.com/fchollet/keras/pull/5879/files" rel="noreferrer">PR</a>,
  but it seems that this change won't affect anything at all. (the usage is just the same with original one)</p>
  
  <p>The <a href="https://gist.github.com/HappyStorm/cb6c22ffec18a8fbb4912e9c79b6d87c" rel="noreferrer">link</a> here is the gist of my self-defined generator and the part of my fit_generator.</p>