We now need the losses between the contents and styles of the two images. We will be using the mean squared loss as follows. Notice here that the subtraction in image1 - image2 is element-wise between the two image arrays. This subtraction works because the images have been resized to the same size in load_image:
def rms_loss(image1,image2):
loss = tf.reduce_mean(input_tensor=tf.square(image1 - image2))
return loss
So next, we define our content_loss function. This is just the mean squared difference between what is named content and target in the function signature:
def content_loss(content, target):
return rms_loss(content, target)
The style loss is defined in terms of a quantity called a Gram matrix. A Gram matrix, also known as the metric, is the dot product of the style matrix with its own transpose. Since this means that each column of the image...