torch3d

GenDR - The Generalized Differentiable Renderer


Keywords
3d-deep-learning, pytorch
License
BSD-3-Clause
Install
pip install torch3d==0.1

Documentation

Torch3d

Build Status codecov PyPI License

Torch3d is a PyTorch library consisting of datasets, model architectures, and common operations for 3D deep learning. For 3D domain, there is currently no official support from PyTorch that likes torchvision for images. Torch3d aims to fill this gap by streamlining the prototyping process of deep learning on 3D domain. Currently, Torch3d focuses on deep learning methods on 3D point sets.

Installation

Required PyTorch 1.2 or newer. Some other dependencies are:

  • torchvision
  • h5py

From PyPi:

$ pip install torch3d

From source:

$ git clone https://github.com/pqhieu/torch3d
$ cd torch3d
$ pip install --editable .

Getting started

Here are some examples to get you started. These examples assume that you have a basic understanding of PyTorch.

Modules

Torch3d composes of the following modules:

  • datasets: Common 3D datasets for classification, semantic segmentation, and so on.
    • ModelNet40 [URL] (classification)
    • S3DIS [URL] (semantic segmentation)
    • ShapeNet [URL] (part segmentation)
    • SceneNN [URL] (semantic segmentation)
  • metrics: Metrics for on-the-fly training evaluation of different tasks.
    • Accuracy (classification, segmentation)
    • IoU (segmentation)
  • models: State-of-the-art models based on their original papers. The following models are currently supported:
    • PointNet from Qi et al. (CVPR 2017) [Paper]
    • PoinNet++ from Qi et al. (NeurIPS 2017) [Paper]
    • DGCNN from Wang et al. (ToG 2019) [Paper]
    • FoldingNet from Yang et al. (CVPR 2018) [Paper]
    • PointConv from Wu et al. (CVPR 2019) [Paper]
  • nn: Low-level operators that can be used to build up complex 3D neural networks.
  • transforms: Common transformations for dataset preprocessing.