mirror of
https://github.com/facebookresearch/pytorch3d.git
synced 2025-12-21 23:00:34 +08:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3fc3ea507b |
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# Copyright (c) Facebook, Inc. and its affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This source code is licensed under the BSD-style license found in the
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/bin/bash -e
|
||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# Copyright (c) Facebook, Inc. and its affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This source code is licensed under the BSD-style license found in the
|
||||
|
||||
@@ -64,7 +64,7 @@ jobs:
|
||||
CUDA_VERSION: "11.3"
|
||||
resource_class: gpu.nvidia.small.multi
|
||||
machine:
|
||||
image: linux-cuda-11:default
|
||||
image: ubuntu-2004:202101-01
|
||||
steps:
|
||||
- checkout
|
||||
- <<: *setupcuda
|
||||
@@ -81,7 +81,7 @@ jobs:
|
||||
command: |
|
||||
export LD_LIBRARY_PATH=$LD_LIBARY_PATH:/usr/local/cuda-11.3/lib64
|
||||
python3 setup.py build_ext --inplace
|
||||
- run: LD_LIBRARY_PATH=$LD_LIBARY_PATH:/usr/local/cuda-11.3/lib64 python -m unittest discover -v -s tests -t .
|
||||
- run: LD_LIBRARY_PATH=$LD_LIBARY_PATH:/usr/local/cuda-11.3/lib64 python -m unittest discover -v -s tests
|
||||
- run: python3 setup.py bdist_wheel
|
||||
|
||||
binary_linux_wheel:
|
||||
@@ -116,8 +116,8 @@ jobs:
|
||||
# so we aren't running the tests.
|
||||
- run:
|
||||
name: build
|
||||
no_output_timeout: 40m
|
||||
command: MAX_JOBS=15 TEST_FLAG=--no-test python3 packaging/build_conda.py
|
||||
no_output_timeout: 20m
|
||||
command: MAX_JOBS=15 TEST_FLAG=--no-test packaging/build_conda.sh
|
||||
- store_artifacts:
|
||||
path: /opt/conda/conda-bld/linux-64
|
||||
- persist_to_workspace:
|
||||
@@ -128,15 +128,55 @@ jobs:
|
||||
binary_linux_conda_cuda:
|
||||
<<: *binary_common
|
||||
machine:
|
||||
image: linux-cuda-11:default
|
||||
image: ubuntu-1604:201903-01
|
||||
resource_class: gpu.nvidia.small.multi
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
name: Setup environment
|
||||
command: |
|
||||
set -e
|
||||
|
||||
curl -L https://packagecloud.io/circleci/trusty/gpgkey | sudo apt-key add -
|
||||
curl -L https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
|
||||
|
||||
sudo apt-get update
|
||||
|
||||
sudo apt-get install \
|
||||
apt-transport-https \
|
||||
ca-certificates \
|
||||
curl \
|
||||
gnupg-agent \
|
||||
software-properties-common
|
||||
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
|
||||
|
||||
sudo add-apt-repository \
|
||||
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
|
||||
$(lsb_release -cs) \
|
||||
stable"
|
||||
|
||||
sudo apt-get update
|
||||
export DOCKER_VERSION="5:19.03.2~3-0~ubuntu-xenial"
|
||||
sudo apt-get install docker-ce=${DOCKER_VERSION} docker-ce-cli=${DOCKER_VERSION} containerd.io=1.2.6-3
|
||||
|
||||
# Add the package repositories
|
||||
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
|
||||
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
|
||||
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
|
||||
|
||||
export NVIDIA_CONTAINER_VERSION="1.0.3-1"
|
||||
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit=${NVIDIA_CONTAINER_VERSION}
|
||||
sudo systemctl restart docker
|
||||
|
||||
DRIVER_FN="NVIDIA-Linux-x86_64-460.84.run"
|
||||
wget "https://us.download.nvidia.com/XFree86/Linux-x86_64/460.84/$DRIVER_FN"
|
||||
sudo /bin/bash "$DRIVER_FN" -s --no-drm || (sudo cat /var/log/nvidia-installer.log && false)
|
||||
nvidia-smi
|
||||
|
||||
- run:
|
||||
name: Pull docker image
|
||||
command: |
|
||||
nvidia-smi
|
||||
set -e
|
||||
|
||||
{ docker login -u="$DOCKERHUB_USERNAME" -p="$DOCKERHUB_TOKEN" ; } 2> /dev/null
|
||||
@@ -145,7 +185,7 @@ jobs:
|
||||
docker pull $TESTRUN_DOCKER_IMAGE
|
||||
- run:
|
||||
name: Build and run tests
|
||||
no_output_timeout: 40m
|
||||
no_output_timeout: 20m
|
||||
command: |
|
||||
set -e
|
||||
|
||||
@@ -154,7 +194,25 @@ jobs:
|
||||
export JUST_TESTRUN=1
|
||||
VARS_TO_PASS="-e PYTHON_VERSION -e BUILD_VERSION -e PYTORCH_VERSION -e CU_VERSION -e JUST_TESTRUN"
|
||||
|
||||
docker run --gpus all --ipc=host -v $(pwd):/remote -w /remote ${VARS_TO_PASS} ${TESTRUN_DOCKER_IMAGE} python3 ./packaging/build_conda.py
|
||||
docker run --gpus all --ipc=host -v $(pwd):/remote -w /remote ${VARS_TO_PASS} ${TESTRUN_DOCKER_IMAGE} ./packaging/build_conda.sh
|
||||
|
||||
binary_macos_wheel:
|
||||
<<: *binary_common
|
||||
macos:
|
||||
xcode: "12.0"
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
# Cannot easily deduplicate this as source'ing activate
|
||||
# will set environment variables which we need to propagate
|
||||
# to build_wheel.sh
|
||||
command: |
|
||||
curl -o conda.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
|
||||
sh conda.sh -b
|
||||
source $HOME/miniconda3/bin/activate
|
||||
packaging/build_wheel.sh
|
||||
- store_artifacts:
|
||||
path: dist
|
||||
|
||||
workflows:
|
||||
version: 2
|
||||
@@ -164,8 +222,28 @@ workflows:
|
||||
# context: DOCKERHUB_TOKEN
|
||||
{{workflows()}}
|
||||
- binary_linux_conda_cuda:
|
||||
name: testrun_conda_cuda_py310_cu117_pyt201
|
||||
name: testrun_conda_cuda_py37_cu102_pyt170
|
||||
context: DOCKERHUB_TOKEN
|
||||
python_version: "3.10"
|
||||
pytorch_version: '2.0.1'
|
||||
cu_version: "cu117"
|
||||
python_version: "3.7"
|
||||
pytorch_version: '1.7.0'
|
||||
cu_version: "cu102"
|
||||
- binary_macos_wheel:
|
||||
cu_version: cpu
|
||||
name: macos_wheel_py36_cpu
|
||||
python_version: '3.6'
|
||||
pytorch_version: '1.9.0'
|
||||
- binary_macos_wheel:
|
||||
cu_version: cpu
|
||||
name: macos_wheel_py37_cpu
|
||||
python_version: '3.7'
|
||||
pytorch_version: '1.9.0'
|
||||
- binary_macos_wheel:
|
||||
cu_version: cpu
|
||||
name: macos_wheel_py38_cpu
|
||||
python_version: '3.8'
|
||||
pytorch_version: '1.9.0'
|
||||
- binary_macos_wheel:
|
||||
cu_version: cpu
|
||||
name: macos_wheel_py39_cpu
|
||||
python_version: '3.9'
|
||||
pytorch_version: '1.9.0'
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# Copyright (c) Facebook, Inc. and its affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This source code is licensed under the BSD-style license found in the
|
||||
@@ -13,56 +13,40 @@ import os.path
|
||||
|
||||
import jinja2
|
||||
import yaml
|
||||
from packaging import version
|
||||
|
||||
|
||||
# The CUDA versions which have pytorch conda packages available for linux for each
|
||||
# version of pytorch.
|
||||
# Pytorch 1.4 also supports cuda 10.0 but we no longer build for cuda 10.0 at all.
|
||||
CONDA_CUDA_VERSIONS = {
|
||||
"2.1.0": ["cu118", "cu121"],
|
||||
"2.1.1": ["cu118", "cu121"],
|
||||
"2.1.2": ["cu118", "cu121"],
|
||||
"2.2.0": ["cu118", "cu121"],
|
||||
"2.2.2": ["cu118", "cu121"],
|
||||
"2.3.1": ["cu118", "cu121"],
|
||||
"2.4.0": ["cu118", "cu121"],
|
||||
"2.4.1": ["cu118", "cu121"],
|
||||
"1.6.0": ["cu92", "cu101", "cu102"],
|
||||
"1.7.0": ["cu101", "cu102", "cu110"],
|
||||
"1.7.1": ["cu101", "cu102", "cu110"],
|
||||
"1.8.0": ["cu101", "cu102", "cu111"],
|
||||
"1.8.1": ["cu101", "cu102", "cu111"],
|
||||
"1.9.0": ["cu102", "cu111"],
|
||||
"1.9.1": ["cu102", "cu111"],
|
||||
"1.10.0": ["cu102", "cu111", "cu113"],
|
||||
}
|
||||
|
||||
|
||||
def conda_docker_image_for_cuda(cuda_version):
|
||||
if len(cuda_version) != 5:
|
||||
raise ValueError("Unknown cuda version")
|
||||
return "pytorch/conda-builder:cuda" + cuda_version[2:]
|
||||
if cuda_version == "cu113":
|
||||
return "pytorch/conda-builder:cuda113"
|
||||
return None
|
||||
|
||||
|
||||
def pytorch_versions_for_python(python_version):
|
||||
if python_version in ["3.8", "3.9"]:
|
||||
if python_version in ["3.6", "3.7", "3.8"]:
|
||||
return list(CONDA_CUDA_VERSIONS)
|
||||
if python_version == "3.10":
|
||||
return [
|
||||
i
|
||||
for i in CONDA_CUDA_VERSIONS
|
||||
if version.Version(i) >= version.Version("1.11.0")
|
||||
]
|
||||
if python_version == "3.11":
|
||||
return [
|
||||
i
|
||||
for i in CONDA_CUDA_VERSIONS
|
||||
if version.Version(i) >= version.Version("2.1.0")
|
||||
]
|
||||
if python_version == "3.12":
|
||||
return [
|
||||
i
|
||||
for i in CONDA_CUDA_VERSIONS
|
||||
if version.Version(i) >= version.Version("2.2.0")
|
||||
]
|
||||
pytorch_without_py39 = ["1.4", "1.5.0", "1.5.1", "1.6.0", "1.7.0"]
|
||||
return [i for i in CONDA_CUDA_VERSIONS if i not in pytorch_without_py39]
|
||||
|
||||
|
||||
def workflows(prefix="", filter_branch=None, upload=False, indentation=6):
|
||||
w = []
|
||||
for btype in ["conda"]:
|
||||
for python_version in ["3.8", "3.9", "3.10", "3.11", "3.12"]:
|
||||
for python_version in ["3.6", "3.7", "3.8", "3.9"]:
|
||||
for pytorch_version in pytorch_versions_for_python(python_version):
|
||||
for cu_version in CONDA_CUDA_VERSIONS[pytorch_version]:
|
||||
w += workflow_pair(
|
||||
|
||||
5
.flake8
5
.flake8
@@ -1,8 +1,5 @@
|
||||
[flake8]
|
||||
# B028 No explicit stacklevel argument found.
|
||||
# B907 'foo' is manually surrounded by quotes, consider using the `!r` conversion flag.
|
||||
# B905 `zip()` without an explicit `strict=` parameter.
|
||||
ignore = E203, E266, E501, W503, E221, B028, B905, B907
|
||||
ignore = E203, E266, E501, W503, E221
|
||||
max-line-length = 88
|
||||
max-complexity = 18
|
||||
select = B,C,E,F,W,T4,B9
|
||||
|
||||
9
.github/CONTRIBUTING.md
vendored
9
.github/CONTRIBUTING.md
vendored
@@ -16,13 +16,14 @@ We do not always accept new features, and we take the following factors into con
|
||||
|
||||
When sending a PR, please ensure you complete the following steps:
|
||||
|
||||
1. Fork the repo and create your branch from `main`. Follow the instructions
|
||||
1. Fork the repo and create your branch from `master`. Follow the instructions
|
||||
in [INSTALL.md](../INSTALL.md) to build the repo.
|
||||
2. If you've added code that should be tested, add tests.
|
||||
3. If you've changed any APIs, please update the documentation.
|
||||
4. Ensure the test suite passes, by running this from the project root:
|
||||
4. Ensure the test suite passes:
|
||||
```
|
||||
python -m unittest discover -v -s tests -t .
|
||||
cd pytorch3d/tests
|
||||
python -m unittest -v
|
||||
```
|
||||
5. Make sure your code lints by running `dev/linter.sh` from the project root.
|
||||
6. If a PR contains multiple orthogonal changes, split it into multiple separate PRs.
|
||||
@@ -45,7 +46,7 @@ outlined on that page and do not file a public issue.
|
||||
## Coding Style
|
||||
We follow these [python](http://google.github.io/styleguide/pyguide.html) and [C++](https://google.github.io/styleguide/cppguide.html) style guides.
|
||||
|
||||
For the linter to work, you will need to install `black`, `flake`, `usort` and `clang-format`, and
|
||||
For the linter to work, you will need to install `black`, `flake`, `isort` and `clang-format`, and
|
||||
they need to be fairly up to date.
|
||||
|
||||
## License
|
||||
|
||||
BIN
.github/implicitron_config.gif
vendored
BIN
.github/implicitron_config.gif
vendored
Binary file not shown.
|
Before Width: | Height: | Size: 5.0 MiB |
27
.github/workflows/stale.yml
vendored
Normal file
27
.github/workflows/stale.yml
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
name: Mark stale issues and pull requests
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '31 5 * * *'
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- uses: actions/stale@v3
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
exempt-issue-labels: 'enhancement,how-to'
|
||||
stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.'
|
||||
stale-pr-message: 'This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days.'
|
||||
close-issue-message: 'This issue was closed because it has been stalled for 5 days with no activity.'
|
||||
close-pr-message: 'This PR was closed because it has been stalled for 10 days with no activity.'
|
||||
days-before-issue-stale: 30
|
||||
days-before-pr-stale: 45
|
||||
days-before-issue-close: 5
|
||||
days-before-pr-close: 10
|
||||
47
INSTALL.md
47
INSTALL.md
@@ -8,23 +8,24 @@
|
||||
The core library is written in PyTorch. Several components have underlying implementation in CUDA for improved performance. A subset of these components have CPU implementations in C++/PyTorch. It is advised to use PyTorch3D with GPU support in order to use all the features.
|
||||
|
||||
- Linux or macOS or Windows
|
||||
- Python
|
||||
- PyTorch 2.1.0, 2.1.1, 2.1.2, 2.2.0, 2.2.1, 2.2.2, 2.3.0, 2.3.1, 2.4.0 or 2.4.1.
|
||||
- Python 3.6, 3.7, 3.8 or 3.9
|
||||
- PyTorch 1.6.0, 1.7.0, 1.7.1, 1.8.0, 1.8.1, 1.9.0, 1.9.1 or 1.10.0.
|
||||
- torchvision that matches the PyTorch installation. You can install them together as explained at pytorch.org to make sure of this.
|
||||
- gcc & g++ ≥ 4.9
|
||||
- [fvcore](https://github.com/facebookresearch/fvcore)
|
||||
- [ioPath](https://github.com/facebookresearch/iopath)
|
||||
- If CUDA is to be used, use a version which is supported by the corresponding pytorch version and at least version 9.2.
|
||||
- If CUDA older than 11.7 is to be used and you are building from source, the CUB library must be available. We recommend version 1.10.0.
|
||||
- If CUDA is to be used and you are building from source, the CUB library must be available. We recommend version 1.10.0.
|
||||
|
||||
The runtime dependencies can be installed by running:
|
||||
```
|
||||
conda create -n pytorch3d python=3.9
|
||||
conda activate pytorch3d
|
||||
conda install pytorch=1.13.0 torchvision pytorch-cuda=11.6 -c pytorch -c nvidia
|
||||
conda install -c iopath iopath
|
||||
conda install -c pytorch pytorch=1.9.1 torchvision cudatoolkit=10.2
|
||||
conda install -c fvcore -c iopath -c conda-forge fvcore iopath
|
||||
```
|
||||
|
||||
For the CUB build time dependency, which you only need if you have CUDA older than 11.7, if you are using conda, you can continue with
|
||||
For the CUB build time dependency, if you are using conda, you can continue with
|
||||
```
|
||||
conda install -c bottler nvidiacub
|
||||
```
|
||||
@@ -42,13 +43,12 @@ export CUB_HOME=$PWD/cub-1.10.0
|
||||
For developing on top of PyTorch3D or contributing, you will need to run the linter and tests. If you want to run any of the notebook tutorials as `docs/tutorials` or the examples in `docs/examples` you will also need matplotlib and OpenCV.
|
||||
- scikit-image
|
||||
- black
|
||||
- usort
|
||||
- isort
|
||||
- flake8
|
||||
- matplotlib
|
||||
- tdqm
|
||||
- jupyter
|
||||
- imageio
|
||||
- fvcore
|
||||
- plotly
|
||||
- opencv-python
|
||||
|
||||
@@ -59,8 +59,7 @@ conda install jupyter
|
||||
pip install scikit-image matplotlib imageio plotly opencv-python
|
||||
|
||||
# Tests/Linting
|
||||
conda install -c fvcore -c conda-forge fvcore
|
||||
pip install black usort flake8 flake8-bugbear flake8-comprehensions
|
||||
pip install black 'isort<5' flake8 flake8-bugbear flake8-comprehensions
|
||||
```
|
||||
|
||||
## Installing prebuilt binaries for PyTorch3D
|
||||
@@ -78,14 +77,19 @@ Or, to install a nightly (non-official, alpha) build:
|
||||
# Anaconda Cloud
|
||||
conda install pytorch3d -c pytorch3d-nightly
|
||||
```
|
||||
|
||||
### 2. Install wheels for Linux
|
||||
We have prebuilt wheels with CUDA for Linux for PyTorch 1.11.0, for each of the supported CUDA versions,
|
||||
for Python 3.8 and 3.9. This is for ease of use on Google Colab.
|
||||
These are installed in a special way.
|
||||
For example, to install for Python 3.8, PyTorch 1.11.0 and CUDA 11.3
|
||||
### 2. Install from PyPI, on Mac only.
|
||||
This works with pytorch 1.9.0 only. The build is CPU only.
|
||||
```
|
||||
pip install --no-index --no-cache-dir pytorch3d -f https://dl.fbaipublicfiles.com/pytorch3d/packaging/wheels/py38_cu113_pyt1110/download.html
|
||||
pip install pytorch3d
|
||||
```
|
||||
|
||||
### 3. Install wheels for Linux
|
||||
We have prebuilt wheels with CUDA for Linux for PyTorch 1.10.0, for each of the CUDA versions that they support,
|
||||
for Python 3.7, 3.8 and 3.9.
|
||||
These are installed in a special way.
|
||||
For example, to install for Python 3.8, PyTorch 1.9.0 and CUDA 10.2
|
||||
```
|
||||
pip install pytorch3d -f https://dl.fbaipublicfiles.com/pytorch3d/packaging/wheels/py38_cu102_pyt1100/download.html
|
||||
```
|
||||
|
||||
In general, from inside IPython, or in Google Colab or a jupyter notebook, you can install with
|
||||
@@ -98,8 +102,7 @@ version_str="".join([
|
||||
torch.version.cuda.replace(".",""),
|
||||
f"_pyt{pyt_version_str}"
|
||||
])
|
||||
!pip install iopath
|
||||
!pip install --no-index --no-cache-dir pytorch3d -f https://dl.fbaipublicfiles.com/pytorch3d/packaging/wheels/{version_str}/download.html
|
||||
!pip install pytorch3d -f https://dl.fbaipublicfiles.com/pytorch3d/packaging/wheels/{version_str}/download.html
|
||||
```
|
||||
|
||||
## Building / installing from source.
|
||||
@@ -144,10 +147,10 @@ After any necessary patching, you can go to "x64 Native Tools Command Prompt for
|
||||
cd pytorch3d
|
||||
python3 setup.py install
|
||||
```
|
||||
|
||||
After installing, you can run **unit tests**
|
||||
After installing, verify whether all unit tests have passed
|
||||
```
|
||||
python3 -m unittest discover -v -s tests -t .
|
||||
cd tests
|
||||
python3 -m unittest discover -p *.py
|
||||
```
|
||||
|
||||
# FAQ
|
||||
|
||||
4
LICENSE
4
LICENSE
@@ -2,7 +2,7 @@ BSD License
|
||||
|
||||
For PyTorch3D software
|
||||
|
||||
Copyright (c) Meta Platforms, Inc. and affiliates. All rights reserved.
|
||||
Copyright (c) Facebook, Inc. and its affiliates. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
are permitted provided that the following conditions are met:
|
||||
@@ -14,7 +14,7 @@ are permitted provided that the following conditions are met:
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
* Neither the name Meta nor the names of its contributors may be used to
|
||||
* Neither the name Facebook nor the names of its contributors may be used to
|
||||
endorse or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
|
||||
@@ -1,71 +0,0 @@
|
||||
SRN license ( https://github.com/vsitzmann/scene-representation-networks/ ):
|
||||
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2019 Vincent Sitzmann
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
|
||||
IDR license ( github.com/lioryariv/idr ):
|
||||
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2020 Lior Yariv
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
|
||||
NeRF https://github.com/bmild/nerf/
|
||||
|
||||
Copyright (c) 2020 bmild
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
26
README.md
26
README.md
@@ -12,7 +12,6 @@ Key features include:
|
||||
- Data structure for storing and manipulating triangle meshes
|
||||
- Efficient operations on triangle meshes (projective transformations, graph convolution, sampling, loss functions)
|
||||
- A differentiable mesh renderer
|
||||
- Implicitron, see [its README](projects/implicitron_trainer), a framework for new-view synthesis via implicit representations. ([blog post](https://ai.facebook.com/blog/implicitron-a-new-modular-extensible-framework-for-neural-implicit-representations-in-pytorch3d/))
|
||||
|
||||
PyTorch3D is designed to integrate smoothly with deep learning methods for predicting and manipulating 3D data.
|
||||
For this reason, all operators in PyTorch3D:
|
||||
@@ -24,8 +23,6 @@ For this reason, all operators in PyTorch3D:
|
||||
|
||||
Within FAIR, PyTorch3D has been used to power research projects such as [Mesh R-CNN](https://arxiv.org/abs/1906.02739).
|
||||
|
||||
See our [blog post](https://ai.facebook.com/blog/-introducing-pytorch3d-an-open-source-library-for-3d-deep-learning/) to see more demos and learn about PyTorch3D.
|
||||
|
||||
## Installation
|
||||
|
||||
For detailed instructions refer to [INSTALL.md](INSTALL.md).
|
||||
@@ -58,11 +55,6 @@ Get started with PyTorch3D by trying one of the tutorial notebooks.
|
||||
|:------------------------------------------------------------:|:--------------------------------------------------:|
|
||||
| [Fit Textured Volume](https://github.com/facebookresearch/pytorch3d/blob/main/docs/tutorials/fit_textured_volume.ipynb)| [Fit A Simple Neural Radiance Field](https://github.com/facebookresearch/pytorch3d/blob/main/docs/tutorials/fit_simple_neural_radiance_field.ipynb)|
|
||||
|
||||
| <img src="https://raw.githubusercontent.com/facebookresearch/pytorch3d/main/.github/fit_textured_volume.gif" width="310"/> | <img src="https://raw.githubusercontent.com/facebookresearch/pytorch3d/main/.github/implicitron_config.gif" width="310" height="310"/>
|
||||
|:------------------------------------------------------------:|:--------------------------------------------------:|
|
||||
| [Fit Textured Volume in Implicitron](https://github.com/facebookresearch/pytorch3d/blob/main/docs/tutorials/implicitron_volumes.ipynb)| [Implicitron Config System](https://github.com/facebookresearch/pytorch3d/blob/main/docs/tutorials/implicitron_config_system.ipynb)|
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -101,8 +93,6 @@ In alphabetical order:
|
||||
|
||||
* Amitav Baruah
|
||||
* Steve Branson
|
||||
* Krzysztof Chalupka
|
||||
* Jiali Duan
|
||||
* Luya Gao
|
||||
* Georgia Gkioxari
|
||||
* Taylor Gordon
|
||||
@@ -146,22 +136,6 @@ If you are using the pulsar backend for sphere-rendering (the `PulsarPointRender
|
||||
|
||||
Please see below for a timeline of the codebase updates in reverse chronological order. We are sharing updates on the releases as well as research projects which are built with PyTorch3D. The changelogs for the releases are available under [`Releases`](https://github.com/facebookresearch/pytorch3d/releases), and the builds can be installed using `conda` as per the instructions in [INSTALL.md](INSTALL.md).
|
||||
|
||||
**[Oct 31st 2023]:** PyTorch3D [v0.7.5](https://github.com/facebookresearch/pytorch3d/releases/tag/v0.7.5) released.
|
||||
|
||||
**[May 10th 2023]:** PyTorch3D [v0.7.4](https://github.com/facebookresearch/pytorch3d/releases/tag/v0.7.4) released.
|
||||
|
||||
**[Apr 5th 2023]:** PyTorch3D [v0.7.3](https://github.com/facebookresearch/pytorch3d/releases/tag/v0.7.3) released.
|
||||
|
||||
**[Dec 19th 2022]:** PyTorch3D [v0.7.2](https://github.com/facebookresearch/pytorch3d/releases/tag/v0.7.2) released.
|
||||
|
||||
**[Oct 23rd 2022]:** PyTorch3D [v0.7.1](https://github.com/facebookresearch/pytorch3d/releases/tag/v0.7.1) released.
|
||||
|
||||
**[Aug 10th 2022]:** PyTorch3D [v0.7.0](https://github.com/facebookresearch/pytorch3d/releases/tag/v0.7.0) released with Implicitron and MeshRasterizerOpenGL.
|
||||
|
||||
**[Apr 28th 2022]:** PyTorch3D [v0.6.2](https://github.com/facebookresearch/pytorch3d/releases/tag/v0.6.2) released
|
||||
|
||||
**[Dec 16th 2021]:** PyTorch3D [v0.6.1](https://github.com/facebookresearch/pytorch3d/releases/tag/v0.6.1) released
|
||||
|
||||
**[Oct 6th 2021]:** PyTorch3D [v0.6.0](https://github.com/facebookresearch/pytorch3d/releases/tag/v0.6.0) released
|
||||
|
||||
**[Aug 5th 2021]:** PyTorch3D [v0.5.0](https://github.com/facebookresearch/pytorch3d/releases/tag/v0.5.0) released
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/bin/bash -e
|
||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# Copyright (c) Facebook, Inc. and its affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This source code is licensed under the BSD-style license found in the
|
||||
@@ -7,17 +7,23 @@
|
||||
|
||||
# Run this script at project root by "./dev/linter.sh" before you commit
|
||||
|
||||
{
|
||||
V=$(black --version|cut '-d ' -f3)
|
||||
code='import distutils.version; assert "19.3" < distutils.version.LooseVersion("'$V'")'
|
||||
PYTHON=false
|
||||
command -v python > /dev/null && PYTHON=python
|
||||
command -v python3 > /dev/null && PYTHON=python3
|
||||
${PYTHON} -c "${code}" 2> /dev/null
|
||||
} || {
|
||||
echo "Linter requires black 19.3b0 or higher!"
|
||||
exit 1
|
||||
}
|
||||
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||
DIR=$(dirname "${DIR}")
|
||||
|
||||
if [[ -f "${DIR}/TARGETS" ]]
|
||||
then
|
||||
pyfmt "${DIR}"
|
||||
else
|
||||
# run usort externally only
|
||||
echo "Running usort..."
|
||||
usort "${DIR}"
|
||||
fi
|
||||
echo "Running isort..."
|
||||
isort -y -sp "${DIR}"
|
||||
|
||||
echo "Running black..."
|
||||
black "${DIR}"
|
||||
@@ -30,7 +36,7 @@ clangformat=$(command -v clang-format-8 || echo clang-format)
|
||||
find "${DIR}" -regex ".*\.\(cpp\|c\|cc\|cu\|cuh\|cxx\|h\|hh\|hpp\|hxx\|tcc\|mm\|m\)" -print0 | xargs -0 "${clangformat}" -i
|
||||
|
||||
# Run arc and pyre internally only.
|
||||
if [[ -f "${DIR}/TARGETS" ]]
|
||||
if [[ -f "${DIR}/tests/TARGETS" ]]
|
||||
then
|
||||
(cd "${DIR}"; command -v arc > /dev/null && arc lint) || true
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/bash
|
||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# Copyright (c) Facebook, Inc. and its affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This source code is licensed under the BSD-style license found in the
|
||||
@@ -23,7 +23,7 @@ conda init bash
|
||||
source ~/.bashrc
|
||||
conda create -y -n myenv python=3.8 matplotlib ipython ipywidgets nbconvert
|
||||
conda activate myenv
|
||||
conda install -y -c iopath iopath
|
||||
conda install -y -c fvcore -c iopath -c conda-forge fvcore iopath
|
||||
conda install -y -c pytorch pytorch=1.6.0 cudatoolkit=10.1 torchvision
|
||||
conda install -y -c pytorch3d-nightly pytorch3d
|
||||
pip install plotly scikit-image
|
||||
|
||||
@@ -1,65 +0,0 @@
|
||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This source code is licensed under the BSD-style license found in the
|
||||
# LICENSE file in the root directory of this source tree.
|
||||
|
||||
import ast
|
||||
from pathlib import Path
|
||||
from typing import List
|
||||
|
||||
|
||||
"""
|
||||
This module outputs a list of tests for completion.
|
||||
It has no dependencies.
|
||||
"""
|
||||
|
||||
|
||||
def get_test_files() -> List[Path]:
|
||||
root = Path(__file__).parent.parent
|
||||
dirs = ["tests", "projects/implicitron_trainer"]
|
||||
return [i for dir in dirs for i in (root / dir).glob("**/test*.py")]
|
||||
|
||||
|
||||
def tests_from_file(path: Path, base: str) -> List[str]:
|
||||
"""
|
||||
Returns all the tests in the given file, in format
|
||||
expected as arguments when running the tests.
|
||||
e.g.
|
||||
file_stem
|
||||
file_stem.TestFunctionality
|
||||
file_stem.TestFunctionality.test_f
|
||||
file_stem.TestFunctionality.test_g
|
||||
"""
|
||||
with open(path) as f:
|
||||
node = ast.parse(f.read())
|
||||
out = [base]
|
||||
for cls in node.body:
|
||||
if not isinstance(cls, ast.ClassDef):
|
||||
continue
|
||||
if not cls.name.startswith("Test"):
|
||||
continue
|
||||
class_base = base + "." + cls.name
|
||||
out.append(class_base)
|
||||
for method in cls.body:
|
||||
if not isinstance(method, ast.FunctionDef):
|
||||
continue
|
||||
if not method.name.startswith("test"):
|
||||
continue
|
||||
out.append(class_base + "." + method.name)
|
||||
return out
|
||||
|
||||
|
||||
def main() -> None:
|
||||
files = get_test_files()
|
||||
test_root = Path(__file__).parent.parent
|
||||
all_tests = []
|
||||
for f in files:
|
||||
file_base = str(f.relative_to(test_root))[:-3].replace("/", ".")
|
||||
all_tests.extend(tests_from_file(f, file_base))
|
||||
for test in sorted(all_tests):
|
||||
print(test)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -1,27 +0,0 @@
|
||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This source code is licensed under the BSD-style license found in the
|
||||
# LICENSE file in the root directory of this source tree.
|
||||
|
||||
# Read the Docs configuration file
|
||||
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
|
||||
|
||||
# Required
|
||||
version: 2
|
||||
|
||||
# Set the version of Python and other tools you might need
|
||||
build:
|
||||
os: ubuntu-22.04
|
||||
tools:
|
||||
python: "3.11"
|
||||
|
||||
# Build documentation in the docs/ directory with Sphinx
|
||||
sphinx:
|
||||
configuration: docs/conf.py
|
||||
|
||||
# We recommend specifying your dependencies to enable reproducible builds:
|
||||
# https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
|
||||
python:
|
||||
install:
|
||||
- requirements: docs/requirements.txt
|
||||
@@ -1,8 +1,4 @@
|
||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This source code is licensed under the BSD-style license found in the
|
||||
# LICENSE file in the root directory of this source tree.
|
||||
# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved
|
||||
|
||||
# Minimal makefile for Sphinx documentation
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
### Install dependencies
|
||||
|
||||
```
|
||||
pip install -U recommonmark sphinx sphinx_rtd_theme sphinx_markdown_tables
|
||||
pip install -U recommonmark mock sphinx sphinx_rtd_theme sphinx_markdown_tables
|
||||
```
|
||||
|
||||
### Add symlink to the root README.md
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# Copyright (c) Facebook, Inc. and its affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This source code is licensed under the BSD-style license found in the
|
||||
@@ -20,8 +20,7 @@
|
||||
import os
|
||||
import sys
|
||||
|
||||
import unittest.mock as mock
|
||||
|
||||
import mock
|
||||
from recommonmark.parser import CommonMarkParser
|
||||
from recommonmark.states import DummyStateMachine
|
||||
from sphinx.builders.html import StandaloneHTMLBuilder
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# Copyright (c) Facebook, Inc. and its affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This source code is licensed under the BSD-style license found in the
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# Copyright (c) Facebook, Inc. and its affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This source code is licensed under the BSD-style license found in the
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# Copyright (c) Facebook, Inc. and its affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This source code is licensed under the BSD-style license found in the
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# Copyright (c) Facebook, Inc. and its affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This source code is licensed under the BSD-style license found in the
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# Copyright (c) Facebook, Inc. and its affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This source code is licensed under the BSD-style license found in the
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# Copyright (c) Facebook, Inc. and its affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This source code is licensed under the BSD-style license found in the
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# Copyright (c) Facebook, Inc. and its affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This source code is licensed under the BSD-style license found in the
|
||||
|
||||
@@ -1,162 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This source code is licensed under the BSD-style license found in the
|
||||
# LICENSE file in the root directory of this source tree.
|
||||
|
||||
"""
|
||||
This script makes the stubs for implicitron in docs/modules.
|
||||
"""
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
ROOT_DIR = Path(__file__).resolve().parent.parent
|
||||
|
||||
|
||||
def paths_to_modules(paths):
|
||||
"""
|
||||
Given an iterable of paths, return equivalent list of modules.
|
||||
"""
|
||||
return [
|
||||
str(i.relative_to(ROOT_DIR))[:-3].replace("/", ".")
|
||||
for i in paths
|
||||
if "__pycache__" not in str(i)
|
||||
]
|
||||
|
||||
|
||||
def create_one_file(title, description, sources, dest_file):
|
||||
with open(dest_file, "w") as f:
|
||||
print(title, file=f)
|
||||
print("=" * len(title), file=f)
|
||||
print(file=f)
|
||||
print(description, file=f)
|
||||
for source in sources:
|
||||
if source.find("._") != -1:
|
||||
# ignore internal modules including __init__.py
|
||||
continue
|
||||
print(f"\n.. automodule:: {source}", file=f)
|
||||
print(" :members:", file=f)
|
||||
print(" :undoc-members:", file=f)
|
||||
print(" :show-inheritance:", file=f)
|
||||
|
||||
|
||||
def iterate_directory(directory_path, dest):
|
||||
"""
|
||||
Create a file for each module in the given path
|
||||
"""
|
||||
toc = []
|
||||
if not dest.exists():
|
||||
dest.mkdir()
|
||||
for file in sorted(directory_path.glob("*.py")):
|
||||
if file.stem.startswith("_"):
|
||||
continue
|
||||
module = paths_to_modules([file])
|
||||
create_one_file(module[0], file.stem, module, dest / f"{file.stem}.rst")
|
||||
toc.append(file.stem)
|
||||
|
||||
for subdir in directory_path.iterdir():
|
||||
if not subdir.is_dir():
|
||||
continue
|
||||
if subdir.name == "fb":
|
||||
continue
|
||||
if subdir.name.startswith("_"):
|
||||
continue
|
||||
iterate_directory(subdir, dest / (subdir.name))
|
||||
toc.append(f"{subdir.name}/index")
|
||||
|
||||
paths_to_modules_ = paths_to_modules([directory_path.with_suffix(".XX")])
|
||||
if len(paths_to_modules_) == 0:
|
||||
return
|
||||
title = paths_to_modules_[0]
|
||||
|
||||
with open(dest / "index.rst", "w") as f:
|
||||
print(title, file=f)
|
||||
print("=" * len(title), file=f)
|
||||
print("\n.. toctree::\n", file=f)
|
||||
for item in toc:
|
||||
print(f" {item}", file=f)
|
||||
|
||||
|
||||
def make_directory_index(title: str, directory_path: Path):
|
||||
index_file = directory_path / "index.rst"
|
||||
directory_rsts = sorted(directory_path.glob("*.rst"))
|
||||
subdirs = sorted([f for f in directory_path.iterdir() if f.is_dir()])
|
||||
with open(index_file, "w") as f:
|
||||
print(title, file=f)
|
||||
print("=" * len(title), file=f)
|
||||
print("\n.. toctree::\n", file=f)
|
||||
for subdir in subdirs:
|
||||
print(f" {subdir.stem}/index.rst", file=f)
|
||||
for rst in directory_rsts:
|
||||
if rst.stem == "index":
|
||||
continue
|
||||
print(f" {rst.stem}", file=f)
|
||||
|
||||
|
||||
def do_implicitron():
|
||||
DEST_DIR = Path(__file__).resolve().parent / "modules/implicitron"
|
||||
|
||||
iterate_directory(ROOT_DIR / "pytorch3d/implicitron/models", DEST_DIR / "models")
|
||||
|
||||
unwanted_tools = ["configurable", "depth_cleanup", "utils"]
|
||||
tools_sources = sorted(ROOT_DIR.glob("pytorch3d/implicitron/tools/*.py"))
|
||||
tools_modules = [
|
||||
str(i.relative_to(ROOT_DIR))[:-3].replace("/", ".")
|
||||
for i in tools_sources
|
||||
if i.stem not in unwanted_tools
|
||||
]
|
||||
create_one_file(
|
||||
"pytorch3d.implicitron.tools",
|
||||
"Tools for implicitron",
|
||||
tools_modules,
|
||||
DEST_DIR / "tools.rst",
|
||||
)
|
||||
|
||||
dataset_files = sorted(ROOT_DIR.glob("pytorch3d/implicitron/dataset/*.py"))
|
||||
basic_dataset = [
|
||||
"dataset_base",
|
||||
"dataset_map_provider",
|
||||
"data_loader_map_provider",
|
||||
"data_source",
|
||||
"scene_batch_sampler",
|
||||
]
|
||||
basic_dataset_modules = [
|
||||
f"pytorch3d.implicitron.dataset.{i}" for i in basic_dataset
|
||||
]
|
||||
create_one_file(
|
||||
"pytorch3d.implicitron.dataset in general",
|
||||
"Basics of data for implicitron",
|
||||
basic_dataset_modules,
|
||||
DEST_DIR / "data_basics.rst",
|
||||
)
|
||||
|
||||
specific_dataset_files = [
|
||||
i for i in dataset_files if i.stem.find("_dataset_map_provider") != -1
|
||||
]
|
||||
create_one_file(
|
||||
"pytorch3d.implicitron.dataset specific datasets",
|
||||
"specific datasets",
|
||||
paths_to_modules(specific_dataset_files),
|
||||
DEST_DIR / "datasets.rst",
|
||||
)
|
||||
|
||||
evaluation_files = sorted(ROOT_DIR.glob("pytorch3d/implicitron/evaluation/*.py"))
|
||||
create_one_file(
|
||||
"pytorch3d.implicitron.evaluation",
|
||||
"evaluation",
|
||||
paths_to_modules(evaluation_files),
|
||||
DEST_DIR / "evaluation.rst",
|
||||
)
|
||||
|
||||
make_directory_index("pytorch3d.implicitron", DEST_DIR)
|
||||
|
||||
|
||||
def iterate_toplevel_module(name: str) -> None:
|
||||
dest_dir = Path(__file__).resolve().parent / "modules" / name
|
||||
iterate_directory(ROOT_DIR / "pytorch3d" / name, dest_dir)
|
||||
|
||||
|
||||
do_implicitron()
|
||||
iterate_toplevel_module("renderer")
|
||||
iterate_toplevel_module("vis")
|
||||
@@ -1,29 +0,0 @@
|
||||
pytorch3d.implicitron.dataset in general
|
||||
========================================
|
||||
|
||||
Basics of data for implicitron
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.dataset.dataset_base
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.dataset.dataset_map_provider
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.dataset.data_loader_map_provider
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.dataset.data_source
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.dataset.scene_batch_sampler
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,29 +0,0 @@
|
||||
pytorch3d.implicitron.dataset specific datasets
|
||||
===============================================
|
||||
|
||||
specific datasets
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.dataset.blender_dataset_map_provider
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.dataset.json_index_dataset_map_provider
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.dataset.json_index_dataset_map_provider_v2
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.dataset.llff_dataset_map_provider
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.dataset.rendered_mesh_dataset_map_provider
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,14 +0,0 @@
|
||||
pytorch3d.implicitron.evaluation
|
||||
================================
|
||||
|
||||
evaluation
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.evaluation.evaluate_new_view_synthesis
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.evaluation.evaluator
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,10 +0,0 @@
|
||||
pytorch3d.implicitron
|
||||
=====================
|
||||
|
||||
.. toctree::
|
||||
|
||||
models/index.rst
|
||||
data_basics
|
||||
datasets
|
||||
evaluation
|
||||
tools
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.base_model
|
||||
=======================================
|
||||
|
||||
base_model
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.base_model
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.feature_extractor.feature_extractor
|
||||
================================================================
|
||||
|
||||
feature_extractor
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.feature_extractor.feature_extractor
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,7 +0,0 @@
|
||||
pytorch3d.implicitron.models.feature_extractor
|
||||
==============================================
|
||||
|
||||
.. toctree::
|
||||
|
||||
feature_extractor
|
||||
resnet_feature_extractor
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.feature_extractor.resnet_feature_extractor
|
||||
=======================================================================
|
||||
|
||||
resnet_feature_extractor
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.feature_extractor.resnet_feature_extractor
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.generic_model
|
||||
==========================================
|
||||
|
||||
generic_model
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.generic_model
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.global_encoder.autodecoder
|
||||
=======================================================
|
||||
|
||||
autodecoder
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.global_encoder.autodecoder
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.global_encoder.global_encoder
|
||||
==========================================================
|
||||
|
||||
global_encoder
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.global_encoder.global_encoder
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,7 +0,0 @@
|
||||
pytorch3d.implicitron.models.global_encoder
|
||||
===========================================
|
||||
|
||||
.. toctree::
|
||||
|
||||
autodecoder
|
||||
global_encoder
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.implicit_function.base
|
||||
===================================================
|
||||
|
||||
base
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.implicit_function.base
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.implicit_function.decoding_functions
|
||||
=================================================================
|
||||
|
||||
decoding_functions
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.implicit_function.decoding_functions
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.implicit_function.idr_feature_field
|
||||
================================================================
|
||||
|
||||
idr_feature_field
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.implicit_function.idr_feature_field
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,13 +0,0 @@
|
||||
pytorch3d.implicitron.models.implicit_function
|
||||
==============================================
|
||||
|
||||
.. toctree::
|
||||
|
||||
base
|
||||
decoding_functions
|
||||
idr_feature_field
|
||||
neural_radiance_field
|
||||
scene_representation_networks
|
||||
utils
|
||||
voxel_grid
|
||||
voxel_grid_implicit_function
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.implicit_function.neural_radiance_field
|
||||
====================================================================
|
||||
|
||||
neural_radiance_field
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.implicit_function.neural_radiance_field
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.implicit_function.scene_representation_networks
|
||||
============================================================================
|
||||
|
||||
scene_representation_networks
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.implicit_function.scene_representation_networks
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.implicit_function.utils
|
||||
====================================================
|
||||
|
||||
utils
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.implicit_function.utils
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.implicit_function.voxel_grid
|
||||
=========================================================
|
||||
|
||||
voxel_grid
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.implicit_function.voxel_grid
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.implicit_function.voxel_grid_implicit_function
|
||||
===========================================================================
|
||||
|
||||
voxel_grid_implicit_function
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.implicit_function.voxel_grid_implicit_function
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,15 +0,0 @@
|
||||
pytorch3d.implicitron.models
|
||||
============================
|
||||
|
||||
.. toctree::
|
||||
|
||||
base_model
|
||||
generic_model
|
||||
metrics
|
||||
model_dbir
|
||||
feature_extractor/index
|
||||
global_encoder/index
|
||||
implicit_function/index
|
||||
renderer/index
|
||||
view_pooler/index
|
||||
visualization/index
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.metrics
|
||||
====================================
|
||||
|
||||
metrics
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.metrics
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.model_dbir
|
||||
=======================================
|
||||
|
||||
model_dbir
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.model_dbir
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.renderer.base
|
||||
==========================================
|
||||
|
||||
base
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.renderer.base
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,14 +0,0 @@
|
||||
pytorch3d.implicitron.models.renderer
|
||||
=====================================
|
||||
|
||||
.. toctree::
|
||||
|
||||
base
|
||||
lstm_renderer
|
||||
multipass_ea
|
||||
ray_point_refiner
|
||||
ray_sampler
|
||||
ray_tracing
|
||||
raymarcher
|
||||
rgb_net
|
||||
sdf_renderer
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.renderer.lstm_renderer
|
||||
===================================================
|
||||
|
||||
lstm_renderer
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.renderer.lstm_renderer
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.renderer.multipass_ea
|
||||
==================================================
|
||||
|
||||
multipass_ea
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.renderer.multipass_ea
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.renderer.ray_point_refiner
|
||||
=======================================================
|
||||
|
||||
ray_point_refiner
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.renderer.ray_point_refiner
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.renderer.ray_sampler
|
||||
=================================================
|
||||
|
||||
ray_sampler
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.renderer.ray_sampler
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.renderer.ray_tracing
|
||||
=================================================
|
||||
|
||||
ray_tracing
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.renderer.ray_tracing
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.renderer.raymarcher
|
||||
================================================
|
||||
|
||||
raymarcher
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.renderer.raymarcher
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.renderer.rgb_net
|
||||
=============================================
|
||||
|
||||
rgb_net
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.renderer.rgb_net
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.renderer.sdf_renderer
|
||||
==================================================
|
||||
|
||||
sdf_renderer
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.renderer.sdf_renderer
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.view_pooler.feature_aggregator
|
||||
===========================================================
|
||||
|
||||
feature_aggregator
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.view_pooler.feature_aggregator
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,8 +0,0 @@
|
||||
pytorch3d.implicitron.models.view_pooler
|
||||
========================================
|
||||
|
||||
.. toctree::
|
||||
|
||||
feature_aggregator
|
||||
view_pooler
|
||||
view_sampler
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.view_pooler.view_pooler
|
||||
====================================================
|
||||
|
||||
view_pooler
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.view_pooler.view_pooler
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.view_pooler.view_sampler
|
||||
=====================================================
|
||||
|
||||
view_sampler
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.view_pooler.view_sampler
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,6 +0,0 @@
|
||||
pytorch3d.implicitron.models.visualization
|
||||
==========================================
|
||||
|
||||
.. toctree::
|
||||
|
||||
render_flyaround
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.implicitron.models.visualization.render_flyaround
|
||||
===========================================================
|
||||
|
||||
render_flyaround
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.models.visualization.render_flyaround
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,64 +0,0 @@
|
||||
pytorch3d.implicitron.tools
|
||||
===========================
|
||||
|
||||
Tools for implicitron
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.tools.camera_utils
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.tools.circle_fitting
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.tools.config
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.tools.eval_video_trajectory
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.tools.image_utils
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.tools.metric_utils
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.tools.model_io
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.tools.point_cloud_utils
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.tools.rasterize_mc
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.tools.stats
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.tools.video_writer
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
.. automodule:: pytorch3d.implicitron.tools.vis_utils
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -3,6 +3,7 @@ API Documentation
|
||||
|
||||
.. toctree::
|
||||
|
||||
common
|
||||
structures
|
||||
io
|
||||
loss
|
||||
@@ -11,6 +12,3 @@ API Documentation
|
||||
transforms
|
||||
utils
|
||||
datasets
|
||||
common
|
||||
vis/index
|
||||
implicitron/index
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
pytorch3d.renderer.blending
|
||||
===========================
|
||||
|
||||
blending
|
||||
===========================
|
||||
|
||||
.. automodule:: pytorch3d.renderer.blending
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.renderer.camera_conversions
|
||||
=====================================
|
||||
|
||||
camera_conversions
|
||||
|
||||
.. automodule:: pytorch3d.renderer.camera_conversions
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.renderer.camera_utils
|
||||
===============================
|
||||
|
||||
camera_utils
|
||||
|
||||
.. automodule:: pytorch3d.renderer.camera_utils
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +1,7 @@
|
||||
pytorch3d.renderer.cameras
|
||||
==========================
|
||||
|
||||
cameras
|
||||
===========================
|
||||
|
||||
.. automodule:: pytorch3d.renderer.cameras
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.renderer.compositing
|
||||
==============================
|
||||
|
||||
compositing
|
||||
|
||||
.. automodule:: pytorch3d.renderer.compositing
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.renderer.fisheyecameras
|
||||
=================================
|
||||
|
||||
fisheyecameras
|
||||
|
||||
.. automodule:: pytorch3d.renderer.fisheyecameras
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.renderer.implicit.harmonic_embedding
|
||||
==============================================
|
||||
|
||||
harmonic_embedding
|
||||
|
||||
.. automodule:: pytorch3d.renderer.implicit.harmonic_embedding
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,11 +0,0 @@
|
||||
pytorch3d.renderer.implicit
|
||||
===========================
|
||||
|
||||
.. toctree::
|
||||
|
||||
harmonic_embedding
|
||||
raymarching
|
||||
raysampling
|
||||
renderer
|
||||
sample_pdf
|
||||
utils
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.renderer.implicit.raymarching
|
||||
=======================================
|
||||
|
||||
raymarching
|
||||
|
||||
.. automodule:: pytorch3d.renderer.implicit.raymarching
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.renderer.implicit.raysampling
|
||||
=======================================
|
||||
|
||||
raysampling
|
||||
|
||||
.. automodule:: pytorch3d.renderer.implicit.raysampling
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.renderer.implicit.renderer
|
||||
====================================
|
||||
|
||||
renderer
|
||||
|
||||
.. automodule:: pytorch3d.renderer.implicit.renderer
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.renderer.implicit.sample_pdf
|
||||
======================================
|
||||
|
||||
sample_pdf
|
||||
|
||||
.. automodule:: pytorch3d.renderer.implicit.sample_pdf
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.renderer.implicit.utils
|
||||
=================================
|
||||
|
||||
utils
|
||||
|
||||
.. automodule:: pytorch3d.renderer.implicit.utils
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,19 +1,15 @@
|
||||
pytorch3d.renderer
|
||||
==================
|
||||
pytorch3d.renderer
|
||||
===========================
|
||||
|
||||
.. toctree::
|
||||
|
||||
blending
|
||||
camera_conversions
|
||||
camera_utils
|
||||
rasterizer
|
||||
cameras
|
||||
compositing
|
||||
fisheyecameras
|
||||
lighting
|
||||
materials
|
||||
splatter_blend
|
||||
utils
|
||||
implicit/index
|
||||
mesh/index
|
||||
opengl/index
|
||||
points/index
|
||||
texturing
|
||||
blending
|
||||
shading
|
||||
shader
|
||||
renderer
|
||||
utils
|
||||
@@ -1,9 +1,6 @@
|
||||
pytorch3d.renderer.lighting
|
||||
===========================
|
||||
|
||||
lighting
|
||||
===========================
|
||||
|
||||
.. automodule:: pytorch3d.renderer.lighting
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
:undoc-members:
|
||||
@@ -1,9 +1,7 @@
|
||||
pytorch3d.renderer.materials
|
||||
============================
|
||||
|
||||
materials
|
||||
===========================
|
||||
|
||||
.. automodule:: pytorch3d.renderer.materials
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.renderer.mesh.clip
|
||||
============================
|
||||
|
||||
clip
|
||||
|
||||
.. automodule:: pytorch3d.renderer.mesh.clip
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,13 +0,0 @@
|
||||
pytorch3d.renderer.mesh
|
||||
=======================
|
||||
|
||||
.. toctree::
|
||||
|
||||
clip
|
||||
rasterize_meshes
|
||||
rasterizer
|
||||
renderer
|
||||
shader
|
||||
shading
|
||||
textures
|
||||
utils
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.renderer.mesh.rasterize_meshes
|
||||
========================================
|
||||
|
||||
rasterize_meshes
|
||||
|
||||
.. automodule:: pytorch3d.renderer.mesh.rasterize_meshes
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.renderer.mesh.rasterizer
|
||||
==================================
|
||||
|
||||
rasterizer
|
||||
|
||||
.. automodule:: pytorch3d.renderer.mesh.rasterizer
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.renderer.mesh.renderer
|
||||
================================
|
||||
|
||||
renderer
|
||||
|
||||
.. automodule:: pytorch3d.renderer.mesh.renderer
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.renderer.mesh.textures
|
||||
================================
|
||||
|
||||
textures
|
||||
|
||||
.. automodule:: pytorch3d.renderer.mesh.textures
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.renderer.mesh.utils
|
||||
=============================
|
||||
|
||||
utils
|
||||
|
||||
.. automodule:: pytorch3d.renderer.mesh.utils
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,7 +0,0 @@
|
||||
pytorch3d.renderer.opengl
|
||||
=========================
|
||||
|
||||
.. toctree::
|
||||
|
||||
opengl_utils
|
||||
rasterizer_opengl
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.renderer.opengl.opengl_utils
|
||||
======================================
|
||||
|
||||
opengl_utils
|
||||
|
||||
.. automodule:: pytorch3d.renderer.opengl.opengl_utils
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.renderer.opengl.rasterizer_opengl
|
||||
===========================================
|
||||
|
||||
rasterizer_opengl
|
||||
|
||||
.. automodule:: pytorch3d.renderer.opengl.rasterizer_opengl
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.renderer.points.compositor
|
||||
====================================
|
||||
|
||||
compositor
|
||||
|
||||
.. automodule:: pytorch3d.renderer.points.compositor
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -1,10 +0,0 @@
|
||||
pytorch3d.renderer.points
|
||||
=========================
|
||||
|
||||
.. toctree::
|
||||
|
||||
compositor
|
||||
rasterize_points
|
||||
rasterizer
|
||||
renderer
|
||||
pulsar/index
|
||||
@@ -1,7 +0,0 @@
|
||||
pytorch3d.renderer.points.pulsar
|
||||
================================
|
||||
|
||||
.. toctree::
|
||||
|
||||
renderer
|
||||
unified
|
||||
@@ -1,9 +0,0 @@
|
||||
pytorch3d.renderer.points.pulsar.renderer
|
||||
=========================================
|
||||
|
||||
renderer
|
||||
|
||||
.. automodule:: pytorch3d.renderer.points.pulsar.renderer
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user