Summary: This is not actually needed and is causing a conda-forge confusion to do with python_abi - which needs users to have `-c conda-forge` when they install pytorch3d.
Reviewed By: patricklabatut
Differential Revision: D59587930
fbshipit-source-id: 961ae13a62e1b2b2ce6d8781db38bd97eca69e65
Summary:
adjusted sample_nums to match the number of columns in the image grid. It originally produced image grid with 5 axes but only 3 images and after this fix, the block would work as intended.
Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/1768
Reviewed By: MichaelRamamonjisoa
Differential Revision: D55632872
Pulled By: bottler
fbshipit-source-id: 44d633a8068076889e49d49b8a7910dba0db37a7
Summary:
### Generalise tutorials' pip searching:
## Required Information:
This diff contains changes to several PyTorch3D tutorials.
**Purpose of this diff:**
Replace the current installation code with a more streamlined approach that tries to install the wheel first and falls back to installing from source if the wheel is not found.
**Why this diff is required:**
This diff makes it easier to cope with new PyTorch releases and reduce the need for manual intervention, as the current process involves checking the version of PyTorch in Colab and building a new wheel if it doesn't match the expected version, which generates additional work each time there is a a new PyTorch version in Colab.
**Changes:**
Before:
```
if torch.__version__.startswith("2.1.") and sys.platform.startswith("linux"):
# We try to install PyTorch3D via a released wheel.
pyt_version_str=torch.__version__.split("+")[0].replace(".", "")
version_str="".join([
f"py3{sys.version_info.minor}_cu",
torch.version.cuda.replace(".",""),
f"_pyt{pyt_version_str}"
])
!pip install fvcore iopath
!pip install --no-index --no-cache-dir pytorch3d -f https://dl.fbaipublicfiles.com/pytorch3d/packaging/wheels/{version_str}/download.html
else:
# We try to install PyTorch3D from source.
!pip install 'git+https://github.com/facebookresearch/pytorch3d.git@stable'
```
After:
```
pyt_version_str=torch.__version__.split("+")[0].replace(".", "")
version_str="".join([
f"py3{sys.version_info.minor}_cu",
torch.version.cuda.replace(".",""),
f"_pyt{pyt_version_str}"
])
!pip install fvcore iopath
if sys.platform.startswith("linux"):
# We try to install PyTorch3D via a released wheel.
!pip install --no-index --no-cache-dir pytorch3d -f https://dl.fbaipublicfiles.com/pytorch3d/packaging/wheels/{version_str}/download.html
pip_list = !pip freeze
need_pytorch3d = not any(i.startswith("pytorch3d==") for i in pip_list)
if need_pytorch3d:
# We try to install PyTorch3D from source.
!pip install 'git+https://github.com/facebookresearch/pytorch3d.git@stable'
```
Reviewed By: bottler
Differential Revision: D55431832
fbshipit-source-id: a8de9162470698320241ae8401427dcb1ce17c37
Summary:
Hi,
Not sure this is the best fix. But while running this notebook, I only ever saw a blank canvas when trying to visualize the dolphin. It might be that I have a broken dependency, like plotly. I also don't know what the visualization is "supposed" to look like.
But incase other people have this issue, this one line change solved the whole problem for me. Now I have a happy, rotatable dolphin.
Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/1549
Reviewed By: shapovalov
Differential Revision: D46350930
Pulled By: bottler
fbshipit-source-id: e19aa71eb05a93e2955262a2c90d1f0d09576228
Summary:
- Fix the numbers in the headers. Currently, there are no header number 2, the tutorial jump from 1 to 3.
- Clean some unnecessary code.
Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/1423
Reviewed By: shapovalov
Differential Revision: D42478609
Pulled By: bottler
fbshipit-source-id: c49fc10b7d38c3573c92fea737101e6c06bbea38
Summary: new implicitronRayBundle with added cameraIDs and camera counts. Added to enable a single raybundle inside Implicitron and easier extension in the future. Since RayBundle is named tuple and RayBundleHeterogeneous is dataclass and RayBundleHeterogeneous cannot inherit RayBundle. So if there was no ImplicitronRayBundle every function that uses RayBundle now would have to use Union[RayBundle, RaybundleHeterogeneous] which is confusing and unecessary complicated.
Reviewed By: bottler, kjchalup
Differential Revision: D39262999
fbshipit-source-id: ece160e32f6c88c3977e408e966789bf8307af59
Summary: need to pip install visdom in new volumes tutorial.
Reviewed By: kjchalup
Differential Revision: D38501905
fbshipit-source-id: 534bf097e41f05b3389e9420e6dd2b61a4517861
Summary: Make a dummy single-scene dataset using the code from generate_cow_renders (used in existing NeRF tutorials)
Reviewed By: kjchalup
Differential Revision: D38116910
fbshipit-source-id: 8db6df7098aa221c81d392e5cd21b0e67f65bd70
Summary:
Applies new import merging and sorting from µsort v1.0.
When merging imports, µsort will make a best-effort to move associated
comments to match merged elements, but there are known limitations due to
the diynamic nature of Python and developer tooling. These changes should
not produce any dangerous runtime changes, but may require touch-ups to
satisfy linters and other tooling.
Note that µsort uses case-insensitive, lexicographical sorting, which
results in a different ordering compared to isort. This provides a more
consistent sorting order, matching the case-insensitive order used when
sorting import statements by module name, and ensures that "frog", "FROG",
and "Frog" always sort next to each other.
For details on µsort's sorting and merging semantics, see the user guide:
https://usort.readthedocs.io/en/stable/guide.html#sorting
Reviewed By: bottler
Differential Revision: D35553814
fbshipit-source-id: be49bdb6a4c25264ff8d4db3a601f18736d17be1
Summary: Migrate away from NDCGridRaysampler and GridRaysampler to their more flexible replacements.
Reviewed By: patricklabatut
Differential Revision: D33281584
fbshipit-source-id: 65f8702e700a32d38f7cd6bda3924bb1707a0633
Summary: Add --no-cache and --no-index to all commands which try to download wheels from S3, to avoid hitting pypi.
Reviewed By: nikhilaravi
Differential Revision: D33507975
fbshipit-source-id: ee796e43cc1864e475cd73c248e9900487012f25
Summary: Update all FB license strings to the new format.
Reviewed By: patricklabatut
Differential Revision: D33403538
fbshipit-source-id: 97a4596c5c888f3c54f44456dc07e718a387a02c
Summary: Make code for downloading linux wheels robust to double-digit PyTorch minor version.
Reviewed By: nikhilaravi
Differential Revision: D33170562
fbshipit-source-id: 559a97cc98ff8411e235a9f9e29f84b7a400c716
Summary: Pre 0.6.1 release, make the tutorials expect wheels with PyTorch 1.10.0
Reviewed By: patricklabatut
Differential Revision: D33016834
fbshipit-source-id: b8c5c1c6158f806c3e55ec668117fa762fa4b75f
Summary: Change doc references to master branch to its new name main.
Reviewed By: nikhilaravi
Differential Revision: D30303018
fbshipit-source-id: cfdbb207dfe3366de7e0ca759ed56f4b8dd894d1
Summary: At the next release, the prebuilt PyTorch3D wheels will depend on PyTorch 1.9.0. Update the tutorials to expect this.
Reviewed By: nikhilaravi
Differential Revision: D29614450
fbshipit-source-id: 39978a6a55b62fb7c7e62aaa8f138e47cadd631e
Summary: Fixes#514, so we don't assume user of the tutorial has access to utils.
Reviewed By: nikhilaravi
Differential Revision: D29557294
fbshipit-source-id: 10ac994be65df0822d3ee4e9d690189ff13074a2
Summary: Deprecate the `so3_exponential_map()` function in favor of its alias `so3_exp_map()`: this aligns with the naming of `so3_log_map()` and the recently introduced `se3_exp_map()` / `se3_log_map()` pair.
Reviewed By: bottler
Differential Revision: D29329966
fbshipit-source-id: b6f60b9e86b2995f70b1fbeb16f9feea05c55de9
Summary: Small fix to `fit_textured_mesh.ipynb` tutorial due to a recent change in numpy
Reviewed By: bottler
Differential Revision: D29219990
fbshipit-source-id: f5feeef9eb952720ea7154d066795fbbe64ce7a1
Summary:
The multiplicative factors in function embeddings go from `2**0` to `2**(self.n_harmonic_functions-1)`, and not from `2**0` to `2**self.n_harmonic_functions`.
Pull Request resolved: https://github.com/fairinternal/pytorch3d/pull/13
Reviewed By: nikhilaravi
Differential Revision: D28637894
Pulled By: ignacio-rocco
fbshipit-source-id: da20f39eba9aaa09af5b24be1554a3bfd7556281
Summary:
Several tutorials were importing skimage and not using it (and it is not an official dependency of PyTorch3D).
Also several had a bad call to plt.grid.
Reviewed By: nikhilaravi
Differential Revision: D28185822
fbshipit-source-id: adabfd0d4d339e1081c26b7b28f5e3953b492f2e
Summary: The renderer gets used for visualization only in places. Here we avoid creating an autograd graph during that, which is not needed and can fail because some of the graph which existed earlier might be needed and has not been retained after the optimizer step. See https://github.com/facebookresearch/pytorch3d/issues/624
Reviewed By: gkioxari
Differential Revision: D27593018
fbshipit-source-id: 62ae7a5a790111273aa4c566f172abd36c844bfb
Summary:
As noted in #601, the example notebook was using an internal function _read_image from PyTorch3D, which has changed signature recently. It is not meant to be used externally. Switch to using PIL directly.
Other changes: (1) removed unused skimage import. (2) some small tidyups. We now don't have places where cells modify values set by other cells. (3) removed bad calls to `plt.grid` which have no effect.
Reviewed By: theschnitz, nikhilaravi
Differential Revision: D27080372
fbshipit-source-id: 2fce651b3e5d7a4619f0a2b298c5db18c8fa1e2c
Summary: Make black and isort stop disagreeing by removing some unneeded comments around import statements. pyre ignores are moved.
Reviewed By: theschnitz
Differential Revision: D27118137
fbshipit-source-id: 9926d0f21142adcf9b5cfe1d394754317f6386df
Summary: Prepare the tutorial notebooks to use wheels from S3 when run on colab.
Reviewed By: nikhilaravi
Differential Revision: D26226932
fbshipit-source-id: 1f9366c3fb4ba195333a5d5dfa3f6876ea934508
Summary:
It is common when trying things out to want to move a whole mesh or point cloud by the same amount. Here we allow the offset functions to broadcast.
Also add a sanity check to join_meshes_as_scene which it is easy to call wrongly.
Reviewed By: nikhilaravi
Differential Revision: D25980593
fbshipit-source-id: cdf1568e1317e3b81ad94ed4e608ba7eef81290b
Summary: Implements a notebook that fits a volume to multiple views of the cow mesh.
Reviewed By: nikhilaravi
Differential Revision: D24553385
fbshipit-source-id: 367ca39e176b40df2c5946c9c05d3be824dc8d1c
Summary: As mentioned in a comment on https://github.com/facebookresearch/pytorch3d/issues/438, curl must be told to follow redirects.
Reviewed By: nikhilaravi
Differential Revision: D24870138
fbshipit-source-id: 0c8aeb5146f8699bcea03d4108276fc24e9eab6b
Summary:
We now require CUB for building, here we make the tutorials include it.
Also make the installation cell do nothing if it has already succeeded.
I use curl not wget, and `os.environ` to set the variables not shell methods, because they are more likely to work on Windows.
Reviewed By: nikhilaravi
Differential Revision: D24860574
fbshipit-source-id: 5be86af15e53f8db016ee0e96fb43153bd69adbc
Summary: This diff updates the documentation and tutorials with information about the new pulsar backend. For more information about the pulsar backend, see the release notes and the paper (https://arxiv.org/abs/2004.07484). For information on how to use the backend, see the point cloud rendering notebook and the examples in the folder docs/examples.
Reviewed By: nikhilaravi
Differential Revision: D24498129
fbshipit-source-id: e312b0169a72b13590df6e4db36bfe6190d742f9
Summary: We envision `pytorch3d.vis` to contain submodules with different dependencies. Allow (and require) them to be imported independently.
Reviewed By: theschnitz
Differential Revision: D24622519
fbshipit-source-id: 44840f70f5fd2bd410405bf09546024e48238744