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="semantic-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.7

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.7
File Size Uploaded
torch_pointcloud-0.0.7.tar.gz 561.4 kB Details

Built distribution (wheel)

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

Total release size: 1.2 MB

Release files / torch_pointcloud-0.0.7.tar.gz

Download URL torch_pointcloud-0.0.7.tar.gz
Size 561.4 kB
Tags Source
SHA-256 checksum
How to use checksums
12d26ec2800b6922bde176b1d4a11244182dce7748c0988f73a833333c9ab614
BLAKE2b-256 checksum
How to use checksums
ca84c08b0d77e60fc99a48783143258a06c1402c9720a12746f7aa25cf0f2e1e
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.7-py3-none-any.whl

Download URL torch_pointcloud-0.0.7-py3-none-any.whl
Size 682.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8fb82addc055e278b52ca68b552850b94cd1346bb9a1374a5de8171547cf503e
BLAKE2b-256 checksum
How to use checksums
e2b3e1b7afe1c2161ab0526f827fea66eea32f8ddf8436d33d9d12e41c511627
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

This release

0.0.7 This release

2 release files

0.0.6

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