= 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!}
Back to article page