title: Difference between installation libraries of Tensorflow GPU vs CPU
body: <p>Recently, I wanted to move my Python libraries to a pendrive to keep all the libraries constant while switching between my workstation and laptop. (Also so that if I update one, it's updated on other also.)</p>
  <p>For this, I have installed a tensorflow-gpu version on my pendrive (my laptop doesn't have a GPU). Everything works fine without a problem on both PC (it detects and uses my GPU without a problem) and laptop (it automatically uses my CPU).</p>
  <p>That's where my question lies. What is the difference between a</p>
  <pre><code>tensorflow-gpu 
  </code></pre>
  <p>AND just</p>
  <pre><code>tensorflow
  </code></pre>
  <p>? (Because when no GPU is found, tensorflow-gpu automatically uses the CPU version.)</p>
  <p>Does the difference lie only in the GPU support? Then why at all have a non GPU version of tensorflow?</p>
  <p>Also, is it alright to proceed like this? Or should I create virtual environments to keep separate installations for CPU and GPU?</p>
  <p>The closest answer I can find is
  <a href="https://stackoverflow.com/questions/45290326/how-to-develope-for-tensor-flow-with-gpu-without-a-gpu">How to develop for tensor flow with gpu without a gpu</a>.</p>
  <p>But it only specifies that it's completely okay to use tensorflow-gpu on a CPU platform, but it still does not answer my first question. Also, the answer might be outdated as tensorflow keeps releasing new updates.</p>
  <p>I had installed the tensorflow-gpu version on my workstation with GTX 1070 (Thus a successful install).</p>
  <p>Also I understand the difference is that <code>pip install tensorflow-gpu</code> will require CUDA enabled device to install, but my question is more towards the usage of the libraries because I am not getting any problems when using the <code>tensorflow-gpu</code> version on my laptop (with no GPU) and all my scripts run without any error.</p>
  <p>(Also removed pip install from above to avoid confusion)</p>
  <p>Also, isn't running <code>tensorflow-gpu</code> on a system with no GPU the same as setting <code>CUDA_VISIBLE_DEVICES=-1</code>?</p>