We are finally ready to start creating a Siamese neural network in Keras. In the previous sections, we looked at the theory and the high-level structure of a Siamese neural network. Let's now look at the architecture of a Siamese neural network in greater detail.
The following diagram shows the detailed architecture of the Siamese neural network we'll build in this chapter:
Let's start by creating the shared convolutional network (boxed in the preceding diagram) in Keras. By now, you should be familiar with the Conv layer, Pooling layer, and Dense layer. If you need a refresher, feel free to refer to Chapter 4, Cats Versus Dogs – Image Classification Using CNNs, for their definitions.
Let's define a function that builds this shared convolutional network using the Sequential class in Keras:
from keras.models...