Skip to main content

pytorch-pointcloud

Banner

python pytorch
tests pypi license doi docs

A PyTorch library for deep learning on point clouds: models, pretrained weights, datasets, transforms and inferers, inspired by timm.

Check out the official docs at pytorch-pointcloud.org!


A chair turning a full circle, classified as a chair
Object classification
pointnet2-ssg.modelnet40.xu-yan
An airplane turning a full circle, its parts colored by class
Part segmentation
pointnext-sm.shapenetpart.openpoints
A camera gliding through a scanned house, every point colored by semantic class
Indoor segmentation / detection
ptv3-base.scannet20.pointcept
A bird's-eye camera riding down a LiDAR sequence with segmented points and detected boxes
Outdoor segmentation / detection
spvcnn-119gmacs.semantickitti.mit-han-lab
second.kitti.openpcdet
A slow turn around the Eiffel Tower as an airborne LiDAR survey, colored by embedding
Large scale segmentation
utonia-lp.scannet20.pointcept
The same house seen by a self-supervised encoder, points lit by similarity to a query
Feature extraction
sonata-lp.scannet20.fair

Installation

Install the library with pip (or uv):

pip install torch-pointcloud

Quickstart

import torch
import torch_pointcloud as tp

# Requires torch-cluster, torch-scatter
model = tp.create_model(
    "pointnext-sm.scanobjectnn.openpoints",
    task="classification",
    pretrained=True,
).eval()

pos = torch.randn(2048, 3)  # (N, 3) coordinates
x = torch.cat([pos, pos[:, 1:2] - pos[:, 1].min()], dim=1)  # (N, 4) features: xyz + height
batch = torch.zeros(2048, dtype=torch.long)  # (N,) batch index

with torch.no_grad():
    logits = model(x, pos, batch)  # (1, 15)

Every checkpoint ships the transform that turns a raw point cloud into what the network expects:

import torch_pointcloud as tp

# Requires torch-scatter, torch-cluster, spconv
model, info = tp.create_model("ptv3-base.scannet20.pointcept", task="segmentation", pretrained=True, return_info=True)
info["transform"]  # the preprocessing pipeline of that checkpoint
info["weights"]["metrics"]  # {"mIoU": 77.40, "OA": 92.01}

tp.list_models("pointnext*")  # every registered PointNeXt config
tp.list_models(task="detection", pretrained=True)  # all detection checkpoints

See the examples directory for benchmarks and training recipes.


Documentation

The documentation covers installation, a get-started guide, the model zoo, datasets, transforms, tutorials and the full API reference.


Contributing

Contributions are welcome. See CONTRIBUTING.md for the development setup and the pull request checks.


Citation

If you find this project useful, please consider citing:

@software{dujardin2026pytorchpointcloud,
  author = {Dujardin, Arthur},
  title = {PyTorch PointCloud},
  year = {2026},
  url = {https://github.com/arthurdjn/pytorch-pointcloud},
  doi = {10.5281/zenodo.22159632},
  license = {Apache-2.0}
}

License

Apache 2.0. See LICENSE.

Pretrained weights and adapted code keep the license of their source, and some checkpoints are restricted to non-commercial use. See THIRD_PARTY_NOTICES.md.

Release files for torch-pointcloud 0.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for torch-pointcloud 0.0.5
File Size Uploaded
torch_pointcloud-0.0.5.tar.gz 550.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for torch-pointcloud 0.0.5
File Interpreter ABI Platform
torch_pointcloud-0.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 1.2 MB

Release files / torch_pointcloud-0.0.5.tar.gz

Download URL torch_pointcloud-0.0.5.tar.gz
Size 550.3 kB
Tags Source
SHA-256 checksum
How to use checksums
5f27534891aa42ac49cf8bc89a098a0d5e5c3e65c64e952241bace3682acf5a6
BLAKE2b-256 checksum
How to use checksums
a9afa7d0bb41ea09aede61b84c521f6473cbd00455b6b9f09a3bcea95d91375d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / torch_pointcloud-0.0.5-py3-none-any.whl

Download URL torch_pointcloud-0.0.5-py3-none-any.whl
Size 663.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
78069e1d8a3d8b82b58590a7aca94d94391dcc7d8ac91393e735bf47ef98065e
BLAKE2b-256 checksum
How to use checksums
7a5897fd596a786918f1a63c8244b47574dd3fa0ccb1039861b75dba7bd2e0e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.0.7

2 release files

0.0.6

2 release files

This release

0.0.5 This release

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page