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 documentation 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-hardest.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)

Each 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. Most were trained on research-only datasets, whose terms also apply to the weights. See THIRD_PARTY_NOTICES.md.

Release files for torch-pointcloud 0.0.6

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.6
File Size Uploaded
torch_pointcloud-0.0.6.tar.gz 557.5 kB Details

Built distribution (wheel)

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

Total release size: 1.2 MB

Release files / torch_pointcloud-0.0.6.tar.gz

Download URL torch_pointcloud-0.0.6.tar.gz
Size 557.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d83502b1e585be0cabf234ce48d9e5b01a026d5604c7adb6b3bbd42451b1ffd8
BLAKE2b-256 checksum
How to use checksums
e9a6112ba3bedb97ae052446f5ff29ff9fba4c1f6397f4a19527f710ce140137
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","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.6-py3-none-any.whl

Download URL torch_pointcloud-0.0.6-py3-none-any.whl
Size 671.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
56212b861f691ce28bf932e29a99f02e7dd1b68fd7aa1c975492d42574c9a641
BLAKE2b-256 checksum
How to use checksums
8691190d16ac8124bb9034c3b4a67abd9929c8ca68bbcec7be954586d7e80542
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","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

This release

0.0.6 This release

2 release files

0.0.5

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