What pre-processing of the image is needed before feeding it into the convolutional neural network? I can't figure out what preprocessing of the image is needed before feeding it into the convolutional neural network. For example, I want to recognize circles on a 1000 by 1000 px photo. The learning process of a neural network occurs on 100 by 100 px (https://www.kaggle.com/smeschke/four-shapes/data). I'm having a little difficulty wrapping my head around the situation when the circle in the input image is much larger (or smaller) than 100x100 px. How then the convolution neural network determines that circle if it was learned on a dataset of a different picture's size.

For clarity, I want to submit a 454 by 430 px image to the network input:



Example of the dataset for the learning process (100 by 100 px):



Finally, I want to recognize all the circles on the input image:
If you have a trained network that accepts input of 100 * 100 you can either scale your image accordingly or slice it into smaller parts. 

Scaling the image

Scaling your image down is really straight forward. It will lower the information and might distort it too if your aspect ratio doesn't match. In your case it is a little off, but most networks are trained with a little distortion.

You will have to ask yourself if the details you are interested in are still discernable, and whether they (still) match the examples the network is trained on.

Slicing smaller parts

If you are interested in features rather than the larger scene, you could slice your image into bits of 100 * 100. I recommend you use a sliding window, wherein you tile the subsamples as if they were shingles. That way you avoid that a feature is only availble in bit's and doenst get recognized.