Skip to main content

pytorch-pointcloud

Banner

python pytorch cuda
ruff uv mypy pytest

A PyTorch library for deep learning on point clouds: models, pretrained weights, datasets, transforms and inferers, behind one create_model factory in the spirit of timm.



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
Features extraction
sonata-lp.scannet20.fair

🎉 Highlights

  • 35 architectures for classification, part and semantic segmentation, 3D detection and self-supervised pretraining: PointNet, PointNet++, DGCNN, KPConv, RandLA-Net, PointNeXt, PointMLP, PointConv, PVCNN, Point Transformer V1/V2/V3, SpUNet, SPVCNN, OctFormer, SphereFormer, Sonata, Concerto, Utonia, Point-MAE, Point-BERT, PointGPT, PointMamba, VoteNet, 3DETR, PointPillars, SECOND, PointRCNN, VoxelNeXt, LION and more.
  • 134 pretrained checkpoints, each carrying its benchmark metrics measured through this library with the reference protocol, and loaded with a single create_model(..., pretrained=True).
  • Datasets with download and preprocessing: ModelNet40, ScanObjectNN, ShapeNetPart, S3DIS, ScanNet, SemanticKITTI, nuScenes, KITTI, SUN RGB-D, Paris-Lille-3D, Semantic3D and Toronto3D.
  • Transforms as MONAI-style dict transforms with tensor-level functional equivalents, and inferers for the usual evaluation protocols (test-time augmentation, voxel partition, sliding window, potential sphere voting).
  • Packed batches everywhere: a flat $(N, \ldots)$ tensor plus a $(N,)$ batch index, never padded tensors.
  • Fully typed (mypy strict), Python 3.10 to 3.13, an optional Lightning integration.

📦 Installation

pip install torch-pointcloud

The CUDA extensions (PyG kernels, spconv, flash-attention, Mamba, ocnn, torchsparse) are optional and only needed by the architectures that use them. See the Installation page for the exact install command.


🚀 Quickstart

import torch
import torch_pointcloud as tp

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:

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": 76.29}

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

The examples directory for hands-on usage (benchmarks and training recipes).


📚 Documentation

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


📝 Citation

If you find this project useful, please consider citing:

@article{pytorch-pointcloud,
  title={PyTorch PointCloud},
  author={Arthur Dujardin},
  journal={GitHub},
  year={2026}
}

📄 License

Apache 2.0. See LICENSE.

Download files

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

Source Distribution

torch_pointcloud-0.0.1.tar.gz (542.5 kB view details)

Uploaded Source

Built Distribution

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

torch_pointcloud-0.0.1-py3-none-any.whl (650.2 kB view details)

Uploaded Python 3

File details

Details for the file torch_pointcloud-0.0.1.tar.gz.

File metadata

  • Download URL: torch_pointcloud-0.0.1.tar.gz
  • Upload date:
  • Size: 542.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","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}

File hashes

Hashes for torch_pointcloud-0.0.1.tar.gz
Algorithm Hash digest
SHA256 89a4f243e8cd282f12002c9e891cd7e6f701e2bdded8b347bf8f99184b3daea2
MD5 6900c931e5ad22a4457a122a0805632b
BLAKE2b-256 316379bdb50988a75a8e30a837f77cb368f1b6e75aafa66cc6701383962b5bd6

See more details on using hashes here.

File details

Details for the file torch_pointcloud-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: torch_pointcloud-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 650.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","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}

File hashes

Hashes for torch_pointcloud-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 47edbde4f86942cf903de10dd99be22f1a803caae9d3dd9aec330dcd60c42524
MD5 afff77b75a36df19b383685a2b52fbd0
BLAKE2b-256 45ae3cb3e869b90a7aa79497d5170299e3193ea87aaa6f02184078120643301f

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 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