title: What do I need K.clear_session() and del model for (Keras with Tensorflow-gpu)?
body: <p><strong><em>What I am doing</em></strong><br>
  I am training and using a convolutional neuron network (CNN) for image-classification using Keras with Tensorflow-gpu as backend.</p>
  
  <p><strong><em>What I am using</em></strong><br>
  - PyCharm Community 2018.1.2<br>
  - both Python 2.7 and 3.5 (but not both at a time)<br>
  - Ubuntu 16.04<br>
  - Keras 2.2.0<br>
  - Tensorflow-GPU 1.8.0 as backend</p>
  
  <p><strong><em>What I want to know</em></strong><br>
  In many codes I see people using</p>
  
  <pre><code>from keras import backend as K 
  
  # Do some code, e.g. train and save model
  
  K.clear_session()
  </code></pre>
  
  <p>or deleting the model after using it:</p>
  
  <pre><code>del model
  </code></pre>
  
  <p>The keras documentation says regarding <code>clear_session</code>: "Destroys the current TF graph and creates a new one. Useful to avoid clutter from old models / layers." - <a href="https://keras.io/backend/" rel="noreferrer">https://keras.io/backend/</a></p>
  
  <p>What is the point of doing that and should I do it as well? When loading or creating a new model my model gets overwritten anyway, so why bother?</p>