title: Why does Tensorflow CNN use too much memory?
body: <p>I'm new to deep learning and I'm using Tensorflow train a cnn to do image recognition. The training images are all 128 pixels * 128 pixels * 3 channels. In my network, there are 3 conv layers, 3 maxpooling layers and 1 fully connected layers. I have more than 180,000 labeled images so I decided to train 4000 images each batch. However, the training process can not even run on my laptop because the memory is not enough so I tried to use a sever with 64gb ram and 2 * E5 CPU to train it. This time it works, but costs more than 40GB of memory.
  I'm confused that the images I used for training are not high resolution images(only 128*128). But why still costs too much memory(may be the batch size it too big....). Is this normal? If this is normal, how could people use gpu to train neural networks, as far as i know, gtx1080ti has 11GB memory, but still not enough for training my network. </p>