import matplotlib.pyplot as plt from torchvision.utils import [draw_bounding_boxes](https://docs.pytorch.org/vision/stable/generated/torchvision.utils.draw_bounding_boxes.html#torchvision.utils.draw_bounding_boxes "torchvision.utils.draw_bounding_boxes"), [draw_segmentation_masks](https://docs.pytorch.org/vision/stable/generated/torchvision.utils.draw_segmentation_masks.html#torchvision.utils.draw_segmentation_masks "torchvision.utils.draw_segmentation_masks") [image](https://docs.pytorch.org/docs/stable/tensors.html#torch.Tensor "torch.Tensor") = [read_image](https://docs.pytorch.org/vision/stable/generated/torchvision.io.read_image.html#torchvision.io.read_image "torchvision.io.read_image")("data/PennFudanPed/PNGImages/FudanPed00046.png") [eval_transform](https://docs.pytorch.org/vision/stable/generated/torchvision.transforms.v2.Compose.html#torchvision.transforms.v2.Compose "torchvision.transforms.v2.Compose") = get_transform(train=False) [model.eval](https://docs.pytorch.org/docs/stable/generated/torch.nn.Module.html#torch.nn.Module.eval "torch.nn.Module.eval")() with [torch.no_grad](https://docs.pytorch.org/docs/stable/generated/torch.no_grad.html#torch.no_grad "torch.no_grad")(): [x](https://docs.pytorch.org/docs/stable/tensors.html#torch.Tensor "torch.Tensor") = [eval_transform](https://docs.pytorch.org/vision/stable/generated/torchvision.transforms.v2.Compose.html#torchvision.transforms.v2.Compose "torchvision.transforms.v2.Compose")([image](https://docs.pytorch.org/docs/stable/tensors.html#torch.Tensor "torch.Tensor")) # convert RGBA -> RGB and move to device [x](https://docs.pytorch.org/docs/stable/tensors.html#torch.Tensor "torch.Tensor") = [x](https://docs.pytorch.org/docs/stable/tensors.html#torch.Tensor "torch.Tensor")[:3, ...].to([device](https://docs.pytorch.org/docs/stable/tensor_attributes.html#torch.device "torch.device")) predictions = model([[x](https://docs.pytorch.org/docs/stable/tensors.html#torch.Tensor "torch.Tensor"), ]) pred = predictions[0] [image](https://docs.pytorch.org/docs/stable/tensors.html#torch.Tensor "torch.Tensor") = (255.0 * ([image](https://docs.pytorch.org/docs/stable/tensors.html#torch.Tensor "torch.Tensor") - [image](https://docs.pytorch.org/docs/stable/tensors.html#torch.Tensor "torch.Tensor").min()) / ([image](https://docs.pytorch.org/docs/stable/tensors.html#torch.Tensor "torch.Tensor").max() - [image](https://docs.pytorch.org/docs/stable/tensors.html#torch.Tensor "torch.Tensor").min())).to([torch.uint8](https://docs.pytorch.org/docs/stable/tensor_attributes.html#torch.dtype "torch.dtype")) [image](https://docs.pytorch.org/docs/stable/tensors.html#torch.Tensor "torch.Tensor") = [image](https://docs.pytorch.org/docs/stable/tensors.html#torch.Tensor "torch.Tensor")[:3, ...] pred_labels = [f"pedestrian: {score:.3f}" for label, score in zip(pred["labels"], pred["scores"])] [pred_boxes](https://docs.pytorch.org/docs/stable/tensors.html#torch.Tensor "torch.Tensor") = pred["boxes"].long() [output_image](https://docs.pytorch.org/docs/stable/tensors.html#torch.Tensor "torch.Tensor") = [draw_bounding_boxes](https://docs.pytorch.org/vision/stable/generated/torchvision.utils.draw_bounding_boxes.html#torchvision.utils.draw_bounding_boxes "torchvision.utils.draw_bounding_boxes")([image](https://docs.pytorch.org/docs/stable/tensors.html#torch.Tensor "torch.Tensor"), [pred_boxes](https://docs.pytorch.org/docs/stable/tensors.html#torch.Tensor "torch.Tensor"), pred_labels, colors="red") [masks](https://docs.pytorch.org/docs/stable/tensors.html#torch.Tensor "torch.Tensor") = (pred["masks"] > 0.7).squeeze(1) [output_image](https://docs.pytorch.org/docs/stable/tensors.html#torch.Tensor "torch.Tensor") = [draw_segmentation_masks](https://docs.pytorch.org/vision/stable/generated/torchvision.utils.draw_segmentation_masks.html#torchvision.utils.draw_segmentation_masks "torchvision.utils.draw_segmentation_masks")([output_image](https://docs.pytorch.org/docs/stable/tensors.html#torch.Tensor "torch.Tensor"), [masks](https://docs.pytorch.org/docs/stable/tensors.html#torch.Tensor "torch.Tensor"), alpha=0.5, colors="blue") plt.figure(figsize=(12, 12)) plt.imshow([output_image](https://docs.pytorch.org/docs/stable/tensors.html#torch.Tensor "torch.Tensor").permute(1, 2, 0))