Skip to main content

Unofficial APIs for the MS-COCO dataset using PyTorch

Project description

pytorchcocotools

Build Documentation GitHub Release PyPI - Package Version PyPI - Python Version Docs with MkDocs Poetry linting: ruff pre-commit Checked with pyright security: bandit Semantic Versions Copier License

Unofficial APIs for the MS-COCO dataset using PyTorch. Uses the official repository of the pycocotools packages as reference.

The file format is explained in the official documentation and nicely summarized here.

[!WARNING] This is work in progress, feel free to contribute!

Features

  • Strongly typed COCO data format represetation
  • Drop-in compatible COCO and COCOeval classes
  • (Almost) drop-in compatible mask methods
  • Pure torch implementation
  • torchvision data set using the latest transformation API
  • fully unit tested and documented

Installation

With pip:

python -m pip install pytorchcocotools

With poetry:

poetry add pytorchcocotools

How to use it

Pretty much all you need to do is to change the import statement from pycocotools to pytorchcocotools:

-import pycocotools
+import pytorchcocotools

So all imports look like this:

from pytorchcocotools.coco import COCO
from pytorchcocotools.cocoeval import COCOeval

...

API

[!WARNING] While the API is mostly compatible with the original pycocotools package, there are some differences. For some methods you need to adapt the handling of the return type. See the examples below.

[!NOTE] All methods are documented with detailed type hints.

mask

All methods now have a optional device and requires_grad parameters that allows to specify the device on which the masks should be created and whether gradients are required. This is useful for acceleration.

[!IMPORTANT] decode, encode, toBbox and frPyObjects now always return the batch/channel dimension implementation as opposed to a single return element if only a single element was passed. This was done to make the API more consistent by providing single, defined return types, but is open for further discussion.

COCO

One major difference is that the COCO class now uses a strongly typed data structure to represent the COCO data format. This makes it easier to work with the data and to understand the structure of the data, but also might cause problems with data sources that do not strictly follow the data format.

COCOeval

Strongly typed as well. Includes also minor fixes, e.g. the __str__ now also returns the stats.

Other additions

  • pytorchcocotools.utils.coco.download.CocoDownloader: While gsutils rsync is the officially recommended way to download the data, this allows you to trigger the download from Python.
  • The logger property in both all classes from the logging module replaces the print command, so you can fully customize it.
  • pytorchcocotools.torch.dataset.CocoDetection: A drop-in replacement for the dataset from torchvision, now strongly typed using the new transforms.v2 api.

Docs

poetry run mkdocs build -f ./docs/mkdocs.yml -d ./_build/

Update template

copier update --trust -A --vcs-ref=HEAD

Credits

This project was generated with 🚀 A generic python project template.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytorchcocotools-0.1.2.tar.gz (54.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pytorchcocotools-0.1.2-py3-none-any.whl (70.6 kB view details)

Uploaded Python 3

File details

Details for the file pytorchcocotools-0.1.2.tar.gz.

File metadata

  • Download URL: pytorchcocotools-0.1.2.tar.gz
  • Upload date:
  • Size: 54.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.11.12 Linux/6.11.0-1012-azure

File hashes

Hashes for pytorchcocotools-0.1.2.tar.gz
Algorithm Hash digest
SHA256 91feb40019bf47932799ca9f775d555cd7c72f3803872accbfaf8af9ff777ab1
MD5 e150822f5c3c53ff4b168832b1be18b2
BLAKE2b-256 a978cbc85e900c08526800fb92331c42394276fcc6ce4ca23f87b34642191da2

See more details on using hashes here.

File details

Details for the file pytorchcocotools-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: pytorchcocotools-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 70.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.11.12 Linux/6.11.0-1012-azure

File hashes

Hashes for pytorchcocotools-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e9363c2f9791d6c4e869b7793e1d534c94a7ced14bdd5ae1f0021f892308d971
MD5 18167c61f737d99d9ea18af825e4352f
BLAKE2b-256 41e155fc922f9b86f3e97de0d04ebf52e38564b25fd3c24210616df8f3ef7edb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page