Source: /cirosantilli/torchvision-resnet

= torchvision ResNet

https://pytorch.org/vision/0.13/models.html has a minimal runnable example adapted to \a[python/pytorch/resnet_demo.py].

That example uses a <ResNet> pre-trained on the <COCO dataset> to do some inference, tested on <Ubuntu 22.10>:
``
cd python/pytorch
wget -O resnet_demo_in.jpg https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Rooster_portrait2.jpg/400px-Rooster_portrait2.jpg
./resnet_demo.py resnet_demo_in.jpg resnet_demo_out.jpg
``
This first downloads the model, which is currently 167 MB.

We know it is COCO because of the docs: https://pytorch.org/vision/0.13/models/generated/torchvision.models.detection.fasterrcnn_resnet50_fpn_v2.html which explains that 
``
FasterRCNN_ResNet50_FPN_V2_Weights.DEFAULT
``
is an alias for:
``
FasterRCNN_ResNet50_FPN_V2_Weights.COCO_V1
``

The runtime is relatively slow on <ciro santilli s hardware/P51>, about 4.7s.

After it finishes, the program prints the recognized classes:
``
['bird', 'banana']
``
so we get the expected `bird`, but also the more intriguing `banana`.

By looking at the output image with bounding boxes, we understand where the banana came from!

\Image[https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Rooster_portrait2.jpg/400px-Rooster_portrait2.jpg]
{title=python/pytorch/resnet_demo_in.jpg}

\Image[https://raw.githubusercontent.com/cirosantilli/media/master/home/python/pytorch/resnet_demo_out.jpg]
{title=python/pytorch/resnet_demo_out.jpg}
{description=The beak was of course a banana, not a beak!}