Type of images used to train a neural network I am a newbie in neural network.

Saw this article Object detection with deep learning and OpenCV.
These three type of neural network are shortlisted in the article


Faster R-CNNs
You Only Look Once (YOLO)
Single Shot Detectors (SSDs)


Found a lot of online resources that help in understanding how the neural network actual works.

As building a neural network from scratch is time consuming and not entirely foolproof to get the desired efficiency.

I came across these articles Transfer learning &amp; The art of using Pre-trained Models in Deep Learning,Transfer Learning and Transfer Learning, where we transfer the learning from an existing pre trained network to train the object which we would desire the network to detect.  

All of these pre trained network have been trained on a data from either COCO or ImageNet or PASCAL VOC which contain different categories images.

Example case:

I want to train one of these to count the number of bananas here in this image 

How should my training set of banana images be?

I need a fixed resolution of the image I feed into the network, so can I even feed a half banana like this for the training? I don't have to remove the background for training. Please correct me if I'm wrong.
You should read this post from the same author. It is about how to build a learning dataset with Google's search, some javascript and some python.

The idea there is to collect as many pictures of the object as possible (object = banana) and then let the deep learning network to compare and learn to differentiate them from bulk random images from some free database.

I suppose background or partial image variations are all ok. You cannot know which part of the object is visible when the whole bunch is evaluated. 

Data needs to be fit to same size, at least Adobe has some tool for that.