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 of features. return(list("layer_flat"=layer_flat, "num_features"=num_features)) }