title: Did tensorflow at any point change 'tensorflow.sub' into 'tensorflow.subtract'?
body: <p>I was testing some code I was given and got an error saying:  </p>
  
  <pre><code>AttributeError: 'module' object has no attribute 'sub'
  </code></pre>
  
  <p>The module referred to is TensorFlow. To investigate this error I started looking into the TensorFlow source code and found a function 'tensorflow.subtract'. Replacing 'sub' by 'subtract' made the error go away. </p>
  
  <p>However now I am still wondering why the error occurred in the first place. I can think of 2 reasons:</p>
  
  <ol>
  <li>At some point TensorFlow renamed 'sub' to 'subtract' and the code I was given hasn't yet updated to accommodate that change. Changing 'sub' to 'subtract' simply updated the code to the newer version of TensorFlow</li>
  <li>I have made some mistake in importing the wrong libraries and TensorFlow does actually have a 'sub' function. This would mean that changing to 'subtract' potentially altered the workings of the program.</li>
  </ol>
  
  <p>Can anyone give advice on what the most likely scenario is here?</p>