tl;dr I'm trying to train a small CNN (two conv layers and two connected layers) to find humans in the COCO dataset. Is my network big enough, and if so, roughly how many epochs of training will it need (there are 64115 training images)?
I am trying to make a neural network that can draw bounding boxes around humans in an image.
I initially intended to use YOLO, since it already exists and does exactly what I want. However, I found that it took many seconds to do a single forward pass through the YOLO network, which is far too slow for my purposes. Since my task is much simpler (YOLO can distinguish between many object classes, whereas I'm only interested in humans), and I don't need as much accuracy, I decided to make a smaller CNN in the style of YOLO, but with far fewer layers and parameters.
I have made a CNN with two convolutional layers and two fully connected layers, which can do a forward pass in a fraction of a second, and I am training it on the images from the COCO dataset that contain humans. My problem now is that, since the network is so small, I have no idea whether it can actually perform the task, and I don't know how long to train it before trying a bigger architecture. I'm also concerned that, since I'm on an ordinary laptop, it might take months or even years for enough training to take place.
If anyone could tell me what the minimum network size is for this sort of task, and how many epochs of training are usually required, it would be much appreciated. Alternatively, if I've made a wrong assumption (i.e. maybe I'm using the pretrained networks wrong for them to be so slow), it would be very helpful if someone could point that out.