PyNIF3D¶
PyNIF3D is an open-source PyTorch-based library for research on neural implicit functions (NIF)-based 3D geometry representation. It aims to accelerate research by providing a modular design that allows for easy extension and combination of NIF-related components, as well as readily available paper implementations and dataset loaders.
As of August 2021, the following implementations are supported:
Installation¶
To get started with PyNIF3D, you can use pip
to install a copy of this repository on
your local machine or build the provided Dockerfile.
Local Installation¶
pip install --user "https://github.com/pfnet/pynif3d.git"
The following packages need to be installed in order to ensure the proper functioning of all the PyNIF3D features:
torch_scatter>=1.3.0
torchsearchsorted>=1.0
A script has been provided to take care of the installation steps for you. Please download it to a directory of choice and run:
bash post_install.bash
Docker Build¶
Enabling CUDA Support¶
Please make sure the following dependencies are installed in order to build the Docker image with CUDA support:
nvidia-docker
nvidia-container-runtime
Then register the nvidia
runtime by adding the following to /etc/docker/daemon.json
:
{
"runtimes": {
"nvidia": {
[...]
}
},
"default-runtime": "nvidia"
}
Restart the Docker daemon:
sudo systemctl restart docker
You should now be able to build a Docker image with CUDA support.
Building Dockerfile¶
git clone https://github.com/pfnet/pynif3d.git
cd pynif3d && nvidia-docker build -t pynif3d .
Running the Container¶
nvidia-docker run -it pynif3d bash
Tutorials¶
Get started with PyNIF3D using the examples provided below:
NeRF Tutorial | CON Tutorial | IDR Tutorial |
In addition to the tutorials, pretrained models are also provided and ready to be used. Please consult this page for more information.
License¶
PyNIF3D is released under the MIT license. Please refer to this document for more information.
Contributing¶
We welcome any new contributions to PyNIF3D. Please make sure to read the contributing guidelines before submitting a pull request.
Documentation¶
Learn more about PyNIF3D by reading the API documentation.