Using functions to create a new convolution layer
The four-dimensional outcome of a newly created convolution layer is flattened to a two-dimensional layer such that it can be used as an input to a fully connected multilayered perceptron.
Getting ready
The recipe explains how to flatten a convolution layer before building the deep learning model. The input to the given function ( flatten_conv_layer) is a four-dimensional convolution layer that is defined based on previous layer.
How to do it...
- Run the following function to flatten the convolution layer:
flatten_conv_layer <- function(layer){
# Extract the shape of the input layer
layer_shape = layer$get_shape()
# Calculate the number of features as img_height * img_width * num_channels
num_features = prod(c(layer_shape$as_list()[[2]],layer_shape$as_list()[[3]],layer_shape$as_list()[[4]]))
# Reshape the layer to [num_images, num_features].
layer_flat = tf$reshape(layer, shape(-1, num_features))
# Return both the flattened layer and the number...