In this section we will learn the practical skills needed to perform transfer learning in TensorFlow. More specifically, we will learn how to select layers to be loaded from a checkpoint and also how to instruct our solver to optimize only specific layers while freezing the others.
Since transfer learning is about training a network initialized with weights taken from another trained model, we will need to find one. In our example, we will use the encoding part of a pretrained convolutional autoencoder that was explained in chapter 6. The advantage of using an autoencoder is that we do not need labelled data, that is, it can be trained completely unsupervised.