title: What is the difference between a `slot variable` and a `non-slot variable` in the Tensorflow internal optimizer API?
body: <p>I'm familiar with the Tensorflow Optimizer API and have used the slot variables via the <code>_create_slots()</code> method in <code>optimizer.Optimizer</code>, though I'm no expert, I've hacked my way into understanding this API.</p>
  
  <p>In the 1.6RC1 release notes (<a href="https://github.com/tensorflow/tensorflow/releases" rel="nofollow noreferrer">https://github.com/tensorflow/tensorflow/releases</a>) there is the following point about slot variables which I don't understand fully:</p>
  
  <blockquote>
    <p>New Optimizer internal API for non-slot variables. Descendants of
    AdamOptimizer that access _beta[12]_power will need to be updated.</p>
  </blockquote>
  
  <p>What are the non-slot variables being referenced here?</p>
  
  <p>What is the difference between slot and non-slot variables in the API?</p>