How do I get Predictions and error rate from the fasterrcnn model?

Hello I am new to pytorch and training AI I was wondering how I get my predictions and error rate from the Fasterrcnn model. This code is the return of sending a single batch to the model in the eval state. How come I am getting so many boxes, scores and labels. I only have 3 class [Truck,Car,Jeep]=[0,1,2]
should only have one bounding boxes per image and one score?

[{'boxes': tensor([[6.3082e+02, 6.6109e-01, 1.0240e+03, 9.4249e+02],
        [3.1181e+02, 2.9275e-01, 1.0240e+03, 6.0196e+02],
        [0.0000e+00, 9.7500e-02, 6.8195e+02, 6.7823e+02],
        [3.1015e+02, 3.8843e+02, 1.0240e+03, 1.0119e+03],
        [0.0000e+00, 3.8825e+02, 6.8305e+02, 1.0115e+03],
        [1.8268e+02, 2.1860e+02, 1.0240e+03, 7.1305e+02],
        [1.7617e+02, 1.0996e-01, 8.9179e+02, 9.5223e+02],
        [6.5779e+02, 0.0000e+00, 1.0240e+03, 1.0240e+03],
        [3.6129e+02, 0.0000e+00, 1.0240e+03, 6.5571e+02],
        [3.6079e+02, 3.6690e+02, 1.0240e+03, 1.0240e+03],
        [0.0000e+00, 0.0000e+00, 6.4789e+02, 7.4001e+02],
        [0.0000e+00, 3.6656e+02, 6.4843e+02, 1.0240e+03],
        [2.2603e+02, 0.0000e+00, 8.5769e+02, 1.0240e+03]], device='cuda:0',
  'labels': tensor([1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2], device='cuda:0'),
  'scores': tensor([0.3015, 0.3010, 0.3006, 0.3003, 0.3002, 0.2989, 0.2988, 0.1948, 0.1933,
        0.1914, 0.1914, 0.1901, 0.1872], device='cuda:0',

Generally you need to do more post-processing steps to convert this raw output (which is a continuous set of beliefs over a lot of candidate bounding boxes) to specific predictions. This requires things like having a confidence threshold (a minimum score below which you throw out results) and in some cases may require doing things to consolidate boxes that are “close enough”.

Here are some resources:

  • region proposal here
  • simple “predict” function here
  • NMS explanation here

Thank you so much for your help and the resources