- 02 Jun, 2021 1 commit
-
-
Jeremy Reizenstein authored
Summary: Add custom layer to avoid repeating copied data for every ray position. This should also save time in the backward pass because there are fewer multiplies with the weights. Reviewed By: theschnitz Differential Revision: D28382412 fbshipit-source-id: 1ba7356cd8520ebd598568ae503e47d31d3989eb
-
- 28 May, 2021 1 commit
-
-
Pyre Bot Jr authored
Differential Revision: D28766465 fbshipit-source-id: 9c5b123ac279e25965ebc8827d9a947bbb6f3ac5
-
- 27 May, 2021 1 commit
-
-
Ignacio Rocco authored
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
-
- 26 May, 2021 4 commits
-
-
Jeremy Reizenstein authored
Summary: Experimental data loader for taking the default scene from a GLB file and converting it to a single mesh in PyTorch3D. Reviewed By: nikhilaravi Differential Revision: D25900167 fbshipit-source-id: bff22ac00298b83a0bd071ae5c8923561e1d81d7
-
Jeremy Reizenstein authored
Summary: Specific object to represent light which is 100% everywhere. Sometimes lighting is irrelevant, for example when viewing a mesh which has lighting already baked in. This is not primarily aiming for a performance win but I think the test which has changed might be a bit faster. Reviewed By: theschnitz Differential Revision: D26405151 fbshipit-source-id: 82eae55de0bee918548a3eaf031b002cb95e726c
-
Jeremy Reizenstein authored
Summary: Function to relatively rotate a camera position. Also document how to relatively translate a camera position. Reviewed By: theschnitz Differential Revision: D25900166 fbshipit-source-id: 2ddaf06ee7c5e2a2e973c04d7dee6ccb61c6ff84
-
Jeremy Reizenstein authored
Summary: If you join several meshes which have TexturesUV textures using join_meshes_as_scene then we amalgamate all the texture images in to a single one. This now checks if some of the images are equal (i.e. the tensors are the same tensor, in the `is` sense; they have the same `id` in Python) and only uses one copy if they are. I have an example of a massive scene made of several textured meshes with some shared, where this makes the difference between fitting the data on the GPU and not. Reviewed By: theschnitz Differential Revision: D25982364 fbshipit-source-id: a8228805f38475c796302e27328a340d9b56c8ef
-
- 19 May, 2021 1 commit
-
-
Dave Schnizlein authored
Summary: Currently the Rotate transform does not consider the R's device at all, resulting in errors if you're expecting it to be on cuda but it gets the default casting to cpu. This updates the transform to respect R's device. Reviewed By: nikhilaravi Differential Revision: D27828118 fbshipit-source-id: ddd99f73eadbd990688eb22f3d1ffbacbe168c81
-
- 13 May, 2021 1 commit
-
-
Jeremy Reizenstein authored
Summary: Add gitignore file to ignore data and checkpoints in the NeRF project. Reviewed By: nikhilaravi Differential Revision: D28382413 fbshipit-source-id: 747d69f4353a76a28acde8ba26a896cb2278f976
-
- 07 May, 2021 4 commits
-
-
Jeremy Reizenstein authored
Summary: Avoid test files explicitly importing TestCase objects from each other, because doing so causes the tests to be discovered twice by unittest discover. This means moving a few static functions out of their classes. I noticed this while trying to fix failures from yesterday. Reviewed By: nikhilaravi Differential Revision: D28194679 fbshipit-source-id: ac6e6585603bd4ef9c098cdd56891d94f8923ba6
-
Jeremy Reizenstein authored
Summary: A couple of tests are failing in open source after my changes yesterday because of numerical issues calculating normals. In particular we have meshes with very few vertices and several faces, where the normals should be zero but end up non-negligible after F.normalize. I have no idea why the different environments produce different results, so that the tests are passing internally. An example. Consider a mesh with the following faces: ``` tensor([[4, 0, 2], [4, 1, 2], [3, 1, 0], [1, 3, 1], [3, 0, 1], [4, 0, 0], [4, 0, 2]]) ``` At vertex 3, there is one zero-area face and there are two other faces, which are back-to-back with each other. This vertex should have zero normal. The open source calculation produces a small but nonzero normal which varies unpredictably with changes in scale/offset, which can cause test failures. In this diff, the main change is to increase the number of vertices to make this less likely to happen. Also a small change to init_mesh to make it not generate a batch of empty meshes. Reviewed By: nikhilaravi Differential Revision: D28220984 fbshipit-source-id: 79fdc62e5f5f8836de5a3a9980cfd6fe44590359 -
Daisy authored
Summary: Allow a line like `OFF10 10 10` as the start of an OFF file. Such things apparently occur in ModelNet40. This resolves https://github.com/facebookresearch/pytorch3d/issues/663. Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/665 Test Plan: New test Reviewed By: nikhilaravi Differential Revision: D28180006 Pulled By: bottler fbshipit-source-id: 7f474c6a262e32da012217e09f76e8672a7f0278
-
Gil Moshayof authored
Summary: 3 extend functions in textures.py updated to call `self.__class__` rather than create a new object of its type. As mentioned in https://github.com/facebookresearch/pytorch3d/issues/618 . Reviewed By: bottler Differential Revision: D28281218 fbshipit-source-id: b9c99ab87e46a3f28c37efa1ee2c2dceb560b491
-
- 05 May, 2021 1 commit
-
-
Jeremy Reizenstein authored
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
-
- 04 May, 2021 8 commits
-
-
Jeremy Reizenstein authored
Summary: Add ability to load normals when they are present in a PLY file. Reviewed By: nikhilaravi Differential Revision: D26458971 fbshipit-source-id: 658270b611f7624eab4f5f62ff438038e1d25723
-
Jeremy Reizenstein authored
Summary: Save existing vertex normals when a mesh is saved to PLY, and existing normals when a point cloud is saved to PLY. Reviewed By: theschnitz Differential Revision: D27765257 fbshipit-source-id: fa0aae4c0f100f7e5eb742f48fc3dfc87435deba
-
Jeremy Reizenstein authored
Summary: Add ability to ask a Meshes if it already has normals. If it does, then requesting normals will not trigger a calculation. MeshesFormatInterpreters will therefore be able to decide whether to save normals. Reviewed By: theschnitz, nikhilaravi Differential Revision: D27765261 fbshipit-source-id: 7c87dbf999d5616d20f5eb2c01039ee5ff65a830
-
Jeremy Reizenstein authored
Summary: Add ability to set the vertex normals when creating a Meshes, so that the pluggable loaders can return them from a file. Reviewed By: nikhilaravi Differential Revision: D27765258 fbshipit-source-id: b5ddaa00de3707f636f94d9f74d1da12ecce0608
-
Jeremy Reizenstein authored
Summary: If offset_verts_ is used to move meshes with a single vector, the normals won't change so don't need to recalculate. I am planning to allow user-specified vertex normals. This change means that user-specified vertex normals won't get overwritten when they don't need to be. Reviewed By: nikhilaravi Differential Revision: D27765256 fbshipit-source-id: f6e4d308ac9ac023030325cb75a18d39b966cf88
-
Jeremy Reizenstein authored
Summary: There is no need to recalculate normals when scaling a mesh by a constant. We omit doing this for vertex normals. This will make things less confusing when we allow user-specified vertex normals. Face normals also don't need recalculating, but they are calculated at the same time as face areas which do, so it is easiest not to change their behavior here. That is convenient because we are not immediately planning to allow user-specified face normals. Reviewed By: nikhilaravi Differential Revision: D27793476 fbshipit-source-id: 827f1be4bc78bf0391ce3959cce48c4f3ee326fe
-
Jeremy Reizenstein authored
Summary: When a PLY file contains colors in byte format, these are now scaled from 0..255 to [0,1], as they should be Reviewed By: gkioxari Differential Revision: D27765254 fbshipit-source-id: 526b5f5149d5e8cbffd7412b411be52c935fa4ad
-
Jeremy Reizenstein authored
Summary: Include TexturesVertex colors when loading and saving Meshes to PLY files. A couple of other improvements to the internals of ply_io, including using `None` instead of empty tensors for some missing data. Reviewed By: gkioxari Differential Revision: D27765260 fbshipit-source-id: b9857dc777c244b9d7d6643b608596d31435ecda
-
- 28 Apr, 2021 1 commit
-
-
Jeremy Reizenstein authored
Summary: We don't use gradents of sample_pdf. Here we disable gradient calculation around calling it, instead of calling detach later. There's a theoretical speedup, but mainly this enables using sample_pdf implementations which don't support gradients. Reviewed By: nikhilaravi Differential Revision: D28057284 fbshipit-source-id: 8a9d5e73f18b34e1e4291028008e02973023638d
-
- 22 Apr, 2021 3 commits
-
-
Jeremy Reizenstein authored
Summary: As remarked in #655, we need to specify the fvcore channel before conda-forge, because there is now an fvcore on conda-forge which we don't aim to use. Compare D27589827 Reviewed By: nikhilaravi Differential Revision: D27938996 fbshipit-source-id: 8abf7994a26e0ea9e6a19fb1e246aba7af091ddc
-
Jeremy Reizenstein authored
Summary: We can check the bounds without using extra memory. This produces a small speedup in NeRF training (like 0.5%). Reviewed By: nikhilaravi Differential Revision: D27859691 fbshipit-source-id: d566420c465f51231f4a57438084c98b73253046
-
Pyre Bot Jr authored
Differential Revision: D27934268 fbshipit-source-id: 51185fa493451012a9b2fd37379897d60596f73b
-
- 20 Apr, 2021 1 commit
-
-
JudyYe authored
Summary: When a list of Meshes is `join_batched()`, the `num_verts_per_mesh` in the list would be unexpectedly modified. Also some cleanup around `_num_verts_per_mesh`. Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/623 Test Plan: A modification to an existing test checks this. Reviewed By: nikhilaravi Differential Revision: D27682104 Pulled By: bottler fbshipit-source-id: 9d00913dfb4869bd6c7d3f5cc9156b7b6f1aecc9
-
- 17 Apr, 2021 1 commit
-
-
Wanchao Liang authored
Reviewed By: divchenko Differential Revision: D27835360 fbshipit-source-id: cbb23793ee57382e43bd65bd40cfeb2820c6eec2
-
- 14 Apr, 2021 3 commits
-
-
Jeremy Reizenstein authored
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
-
Jeremy Reizenstein authored
Summary: Internally flake8 sometimes crashes. Stop the rest of the linter being bypassed when this happens. Reviewed By: theschnitz Differential Revision: D27765255 fbshipit-source-id: 7ad1fb4630a05f4bc3763cf13370f5e4e00228de
-
David Novotny authored
Summary: See title. Reviewed By: nikhilaravi Differential Revision: D27658290 fbshipit-source-id: 232550f04df4951f7f3d712047b39e510a2f4209
-
- 13 Apr, 2021 1 commit
-
-
Jeremy Reizenstein authored
Summary: Lint after recent changes. Reviewed By: nikhilaravi Differential Revision: D27682328 fbshipit-source-id: 285d159010d886e4e97902995adbdff875fd3c19
-
- 09 Apr, 2021 4 commits
-
-
Jeremy Reizenstein authored
Summary: Collection of spelling things, mostly in docs / tutorials. Reviewed By: gkioxari Differential Revision: D26101323 fbshipit-source-id: 652f62bc9d71a4ff872efa21141225e43191353a
-
Rong Rong (AI Infra) authored
Summary: Test path special case Reviewed By: bottler Differential Revision: D27566817 fbshipit-source-id: c7b3ac839908c071f1378a37b7013b91ca4e8b18
-
Rong Rong (AI Infra) authored
Summary: Simplify finding the data directories in the tests. Reviewed By: nikhilaravi Differential Revision: D27634293 fbshipit-source-id: dc308a7c86c41e6fae56a2ab58187c9f0335b575
-
Rong Rong (AI Infra) authored
Summary: Make common functions for finding directories where test data is found, instead of lots of tests using their own `__file__` while trying to get ./tests/data and the tutorials data. Reviewed By: nikhilaravi Differential Revision: D27633701 fbshipit-source-id: 1467bb6018cea16eba3cab097d713116d51071e9
-
- 08 Apr, 2021 2 commits
-
-
Jeremy Reizenstein authored
Summary: flake8 no longer respects the black fmt:off message, so include specific line-length exclusion. Reviewed By: nikhilaravi Differential Revision: D27624641 fbshipit-source-id: adcdb6f55b382fbf252eede3f3ddeda0621da883
-
David Novotny authored
Summary: Fixes implicit function doc. Reviewed By: theschnitz, nikhilaravi Differential Revision: D26870946 fbshipit-source-id: 5d03ebbc284153c41b9d6695b28c8b4e11bc0a5c
-
- 23 Mar, 2021 1 commit
-
-
Jeremy Reizenstein authored
Summary: Update `main` build to latest CircleCI image - Ubuntu 2020.04. Avoid torch.logical_or and logical_and for PyTorch 1.4 compatibility. Also speed up the test run with Pytorch 1.4.0 (which has no ninja) by not setting NVCC_FLAGS for it. Reviewed By: theschnitz Differential Revision: D27262327 fbshipit-source-id: ddc359d134b1dc755f8b20bd3f33bb080cb3a0e1
-
- 17 Mar, 2021 1 commit
-
-
Jeremy Reizenstein authored
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
-