In Convolutional Neural Networks, I've came across some strange functions that take parameters in first parenthesis before taking the input in the second parenthesis.
e.g Fn(parameters=params)(input=x)
Conv2D(filters = F2, kernel_size = 1, strides = (1,1), padding = 'valid', kernel_initializer = initializer(seed=0))(X)
What is this called and why does it exist? Why not simply pass the input in the first part?