- 08 Apr, 2020 1 commit
-
-
Nikhila Ravi authored
Summary: Remove `bin_size` and `max_faces_per_pixel` from being specified. This means the coarse-to-fine rasterization will be used by default and will help avoid confusion with the naive version. Reviewed By: jcjohnson Differential Revision: D20908905 fbshipit-source-id: c181c88e844d888aa81a36870918307961dc1175
-
- 07 Apr, 2020 2 commits
-
-
Jeremy Reizenstein authored
Summary: Pytorch 1.5 is coming soon. I imagine we will want the ability to upload conda packages for pytorch3d to anaconda cloud for each of pytorch 1.4 and pytorch 1.5. This change adds the dependent pytorch version to the name of the conda package to make that feasible. As an example, a built package after this change will have a name like `linux-64/pytorch3d-0.1.1-py38_cu100_pyt14.tar.bz2`, instead of simply `linux-64/pytorch3d-0.1.1-py38_cu100.tar.bz2`. Also some tiny cleanup of circleci config. Other alternatives: (1) forcing users to update pytorch and pytorch3d together, (2) trying to get away with one build for multiple pytorch versions. Reviewed By: nikhilaravi Differential Revision: D20599039 fbshipit-source-id: 20164eda4a5141afed47b3596e559950d796ffc9
-
Jeremy Reizenstein authored
Summary: Interface and working implementation of ragged KNN. Benchmarks (which aren't ragged) haven't slowed. New benchmark shows that ragged is faster than non-ragged of the same shape. Reviewed By: jcjohnson Differential Revision: D20696507 fbshipit-source-id: 21b80f71343a3475c8d3ee0ce2680f92f0fae4de
-
- 06 Apr, 2020 2 commits
-
-
Jeremy Reizenstein authored
Summary: The conda build process generates some files of its own, which we don't want to catch in our test for copyright notices. Reviewed By: nikhilaravi, patricklabatut Differential Revision: D20868566 fbshipit-source-id: 76a786a3eb9a674d59e630cc06f346e8b82258a4
-
Jeremy Reizenstein authored
Summary: lint clean again Reviewed By: patricklabatut Differential Revision: D20868775 fbshipit-source-id: ade4301c1012c5c6943186432465215701d635a9
-
- 05 Apr, 2020 1 commit
-
-
David Novotny authored
Summary: Allows to initialize a Transform3D object with a batch of user-defined transformation matrices: ``` t = Transform3D(matrix=torch.randn(2, 4, 4)) ``` Reviewed By: nikhilaravi Differential Revision: D20693475 fbshipit-source-id: dccc49b2ca4c19a034844c63463953ba8f52c1bc
-
- 03 Apr, 2020 1 commit
-
-
Roman Shapovalov authored
Summary: 1. Introduced weights to Umeyama implementation. This will be needed for weighted ePnP but is useful on its own. 2. Refactored to use the same code for the Pointclouds mask and passed weights. 3. Added test cases with random weights. 4. Fixed a bug in tests that calls the function with 0 points (fails randomly in Pytorch 1.3, will be fixed in the next release: https://github.com/pytorch/pytorch/issues/31421 ). Reviewed By: gkioxari Differential Revision: D20070293 fbshipit-source-id: e9f549507ef6dcaa0688a0f17342e6d7a9a4336c
-
- 02 Apr, 2020 1 commit
-
-
David Novotny authored
Summary: Umeyama estimates a rigid motion between two sets of corresponding points. Benchmark output for `bm_points_alignment` ``` Arguments key: [<allow_reflection>_<batch_size>_<dim>_<estimate_scale>_<n_points>_<use_pointclouds>] Benchmark Avg Time(μs) Peak Time(μs) Iterations -------------------------------------------------------------------------------- CorrespodingPointsAlignment_True_1_3_True_100_False 7382 9833 68 CorrespodingPointsAlignment_True_1_3_True_10000_False 8183 10500 62 CorrespodingPointsAlignment_True_1_3_False_100_False 7301 9263 69 CorrespodingPointsAlignment_True_1_3_False_10000_False 7945 9746 64 CorrespodingPointsAlignment_True_1_20_True_100_False 13706 41623 37 CorrespodingPointsAlignment_True_1_20_True_10000_False 11044 33766 46 CorrespodingPointsAlignment_True_1_20_False_100_False 9908 28791 51 CorrespodingPointsAlignment_True_1_20_False_10000_False 9523 18680 53 CorrespodingPointsAlignment_True_10_3_True_100_False 29585 32026 17 CorrespodingPointsAlignment_True_10_3_True_10000_False 29626 36324 18 CorrespodingPointsAlignment_True_10_3_False_100_False 26013 29253 20 CorrespodingPointsAlignment_True_10_3_False_10000_False 25000 33820 20 CorrespodingPointsAlignment_True_10_20_True_100_False 40955 41592 13 CorrespodingPointsAlignment_True_10_20_True_10000_False 42087 42393 12 CorrespodingPointsAlignment_True_10_20_False_100_False 39863 40381 13 CorrespodingPointsAlignment_True_10_20_False_10000_False 40813 41699 13 CorrespodingPointsAlignment_True_100_3_True_100_False 183146 194745 3 CorrespodingPointsAlignment_True_100_3_True_10000_False 213789 231466 3 CorrespodingPointsAlignment_True_100_3_False_100_False 177805 180796 3 CorrespodingPointsAlignment_True_100_3_False_10000_False 184963 185695 3 CorrespodingPointsAlignment_True_100_20_True_100_False 347181 347325 2 CorrespodingPointsAlignment_True_100_20_True_10000_False 363259 363613 2 CorrespodingPointsAlignment_True_100_20_False_100_False 351769 352496 2 CorrespodingPointsAlignment_True_100_20_False_10000_False 375629 379818 2 CorrespodingPointsAlignment_False_1_3_True_100_False 11155 13770 45 CorrespodingPointsAlignment_False_1_3_True_10000_False 10743 13938 47 CorrespodingPointsAlignment_False_1_3_False_100_False 9578 11511 53 CorrespodingPointsAlignment_False_1_3_False_10000_False 9549 11984 53 CorrespodingPointsAlignment_False_1_20_True_100_False 13809 14183 37 CorrespodingPointsAlignment_False_1_20_True_10000_False 14084 15082 36 CorrespodingPointsAlignment_False_1_20_False_100_False 12765 14177 40 CorrespodingPointsAlignment_False_1_20_False_10000_False 12811 13096 40 CorrespodingPointsAlignment_False_10_3_True_100_False 28823 39384 18 CorrespodingPointsAlignment_False_10_3_True_10000_False 27135 27525 19 CorrespodingPointsAlignment_False_10_3_False_100_False 26236 28980 20 CorrespodingPointsAlignment_False_10_3_False_10000_False 42324 45123 12 CorrespodingPointsAlignment_False_10_20_True_100_False 723902 723902 1 CorrespodingPointsAlignment_False_10_20_True_10000_False 220007 252886 3 CorrespodingPointsAlignment_False_10_20_False_100_False 55593 71636 9 CorrespodingPointsAlignment_False_10_20_False_10000_False 44419 71861 12 CorrespodingPointsAlignment_False_100_3_True_100_False 184768 185199 3 CorrespodingPointsAlignment_False_100_3_True_10000_False 198657 213868 3 CorrespodingPointsAlignment_False_100_3_False_100_False 224598 309645 3 CorrespodingPointsAlignment_False_100_3_False_10000_False 197863 202002 3 CorrespodingPointsAlignment_False_100_20_True_100_False 293484 309459 2 CorrespodingPointsAlignment_False_100_20_True_10000_False 327253 366644 2 CorrespodingPointsAlignment_False_100_20_False_100_False 420793 422194 2 CorrespodingPointsAlignment_False_100_20_False_10000_False 462634 485542 2 CorrespodingPointsAlignment_True_1_3_True_100_True 7664 9909 66 CorrespodingPointsAlignment_True_1_3_True_10000_True 7190 8366 70 CorrespodingPointsAlignment_True_1_3_False_100_True 6549 8316 77 CorrespodingPointsAlignment_True_1_3_False_10000_True 6534 7710 77 CorrespodingPointsAlignment_True_10_3_True_100_True 29052 32940 18 CorrespodingPointsAlignment_True_10_3_True_10000_True 30526 33453 17 CorrespodingPointsAlignment_True_10_3_False_100_True 28708 32993 18 CorrespodingPointsAlignment_True_10_3_False_10000_True 30630 35973 17 CorrespodingPointsAlignment_True_100_3_True_100_True 264909 320820 3 CorrespodingPointsAlignment_True_100_3_True_10000_True 310902 322604 2 CorrespodingPointsAlignment_True_100_3_False_100_True 246832 250634 3 CorrespodingPointsAlignment_True_100_3_False_10000_True 276006 289061 2 CorrespodingPointsAlignment_False_1_3_True_100_True 11421 13757 44 CorrespodingPointsAlignment_False_1_3_True_10000_True 11199 12532 45 CorrespodingPointsAlignment_False_1_3_False_100_True 11474 15841 44 CorrespodingPointsAlignment_False_1_3_False_10000_True 10384 13188 49 CorrespodingPointsAlignment_False_10_3_True_100_True 36599 47340 14 CorrespodingPointsAlignment_False_10_3_True_10000_True 40702 50754 13 CorrespodingPointsAlignment_False_10_3_False_100_True 41277 52149 13 CorrespodingPointsAlignment_False_10_3_False_10000_True 34286 37091 15 CorrespodingPointsAlignment_False_100_3_True_100_True 254991 258578 2 CorrespodingPointsAlignment_False_100_3_True_10000_True 257999 261285 2 CorrespodingPointsAlignment_False_100_3_False_100_True 247511 248693 3 CorrespodingPointsAlignment_False_100_3_False_10000_True 251807 263865 3 ``` Reviewed By: gkioxari Differential Revision: D19808389 fbshipit-source-id: 83305a58627d2fc5dcaf3c3015132d8148f28c29
-
- 01 Apr, 2020 2 commits
-
-
Patrick Labatut authored
Summary: Do not create output files with invalid inputs to `save_{obj,ply}()`. Reviewed By: bottler Differential Revision: D20720282 fbshipit-source-id: 3b611a10da6f6eecacab2a1900bf16f89e2000aa -
Patrick Labatut authored
Summary: Similar to D20392526, PLY files without vertices or faces should be allowed: - a PLY with only vertices can represent a point cloud - a PLY without any vertex or face is just empty - a PLY with faces referencing inexistent vertices has invalid data Reviewed By: gkioxari Differential Revision: D20400330 fbshipit-source-id: 35a5f072603fd221f382c7faad5f37c3e0b49bb1
-
- 30 Mar, 2020 2 commits
-
-
Jeremy Reizenstein authored
Summary: rename join_meshes to join_meshes_as_batch. Reviewed By: nikhilaravi Differential Revision: D20671293 fbshipit-source-id: e84d6a67d6c1ec28fb5e52d4607db8e92561a4cd
-
Jeremy Reizenstein authored
Summary: Flowing of compositing comments Reviewed By: nikhilaravi Differential Revision: D20556707 fbshipit-source-id: 4abdc85e4f65abd41c4a890b6895bc5e95b4576b
-
- 29 Mar, 2020 3 commits
-
-
Patrick Labatut authored
Summary: Address black + isort fbsource linter warnings from D20558374 (previous diff) Reviewed By: nikhilaravi Differential Revision: D20558373 fbshipit-source-id: d3607de4a01fb24c0d5269634563a7914bddf1c8
-
Patrick Labatut authored
Summary: Enable `black` + `isort` (via `pyfmt`) i.e. `BLACK` fbsource linter. NOTE: the `BLACK` fbsource linter (and `black` itself) is (by design) ***not*** configurable. This forces aligning the existing options used by the tools invoked in `dev/linter.sh` (for 3rd party developers) with `BLACK` fbsource linting. Without this reconciliation, the different linters (used internally or by 3rd party developers) would simply conflict with each other resulting in artificial back-and-forth changes (for instance line width which `BLACK` forces to 88 characters). Reviewed By: nikhilaravi Differential Revision: D20558374 fbshipit-source-id: 614fa00664f8eb9d2de7438c29b807dfbf36ad20
-
Jeremy Reizenstein authored
Summary: Run linter after recent changes. Fix long comment in knn.h which clang-format has reflowed badly. Add crude test that code doesn't call deprecated `.type()` or `.data()`. Reviewed By: nikhilaravi Differential Revision: D20692935 fbshipit-source-id: 28ce0308adae79a870cb41a810b7cf8744f41ab8
-
- 28 Mar, 2020 1 commit
-
-
Patrick Labatut authored
Summary: OBJ files without vertices or faces should be allowed: - an OBJ with only vertices can represent a point cloud - an OBJ without any vertex or face is just empty - an OBJ with faces referencing inexistent vertices has invalid data Reviewed By: gkioxari Differential Revision: D20392526 fbshipit-source-id: e72c846ff1e5787fb11d527af3fefa261f9eb0ee
-
- 26 Mar, 2020 4 commits
-
-
Justin Johnson authored
Summary: Implements K-Nearest Neighbors with C++ and CUDA versions. KNN in CUDA is highly nontrivial. I've implemented a few different versions of the kernel, and we heuristically dispatch to different kernels based on the problem size. Some of the kernels rely on template specialization on either D or K, so we use template metaprogramming to compile specialized versions for ranges of D and K. These kernels are up to 3x faster than our existing 1-nearest-neighbor kernels, so we should also consider swapping out `nn_points_idx` to use these kernels in the backend. I've been working mostly on the CUDA kernels, and haven't converged on the correct Python API. I still want to benchmark against FAISS to see how far away we are from their performance. Reviewed By: bottler Differential Revision: D19729286 fbshipit-source-id: 608ffbb7030c21fe4008f330522f4890f0c3c21a
-
Nikhila Ravi authored
Summary: Small website fix. Reviewed By: bottler Differential Revision: D20672621 fbshipit-source-id: b787e626f732a8abdd92c29e5e4e8bbe27bc7e2f
-
Jeremy Reizenstein authored
Summary: Replace `tensor.type().is_cuda()` with the preferred `tensor.is_cuda()`. Replace `AT_DISPATCH_FLOATING_TYPES(tensor.type(), ...` with `AT_DISPATCH_FLOATING_TYPES(tensor.scalar_type(), ...`. These avoid deprecation warnings in future pytorch. Reviewed By: nikhilaravi Differential Revision: D20646565 fbshipit-source-id: 1a0c15978c871af816b1dd7d4a7ea78242abd95e
-
Jeremy Reizenstein authored
Summary: replace `data()` with preferred `data_ptr()`, avoiding some deprecation warnings in future pytorch. Reviewed By: nikhilaravi Differential Revision: D20645738 fbshipit-source-id: 8f6e02d292729b804fa2a66f94dd0517bbaf7887
-
- 24 Mar, 2020 1 commit
-
-
Jeremy Reizenstein authored
Summary: CPU-only builds should be fixed by this change Reviewed By: nikhilaravi Differential Revision: D20598014 fbshipit-source-id: df098ec4c6c93d38515172805fe57cac7463c506
-
- 23 Mar, 2020 2 commits
-
-
Jeremy Reizenstein authored
Summary: use assertClose in some tests, which enforces shape equality. Fixes some small problems, including graph_conv on an empty graph. Reviewed By: nikhilaravi Differential Revision: D20556912 fbshipit-source-id: 60a61eafe3c03ce0f6c9c1a842685708fb10ac5b
-
Jeremy Reizenstein authored
Summary: By accident I think, we have been nudging people to install python 3.6. Using 3.8 is fine. Reviewed By: nikhilaravi Differential Revision: D20597240 fbshipit-source-id: 7fb778f1b84746db28b6eef763564af5c5fffcd7
-
- 22 Mar, 2020 1 commit
-
-
Georgia Gkioxari authored
Summary: Run `/dev/linter.sh` to fix linting Reviewed By: nikhilaravi Differential Revision: D20584037 fbshipit-source-id: 69e45b33d22e3d54b6d37c3c35580bb3e9dc50a5
-
- 21 Mar, 2020 1 commit
-
-
Nikhila Ravi authored
Summary: Add a note about the difference between naive and coarse-to-fine rasterization to all the rendering tutorials. Update the render pointclouds tutorial to wget the data file. Reviewed By: gkioxari Differential Revision: D20575257 fbshipit-source-id: a2806b9452438f97cb754f87e011c6e32e2545e4
-
- 20 Mar, 2020 1 commit
-
-
Georgia Gkioxari authored
Summary: Replace view with reshape, add check for nans before mesh sampling Reviewed By: nikhilaravi Differential Revision: D20548456 fbshipit-source-id: c4e1b88e033ecb8f0f3a8f3a33a04ce13a5b5043
-
- 19 Mar, 2020 1 commit
-
-
Olivia authored
Summary: Code for accumulating points in the z-buffer in three ways: 1. weighted sum 2. normalised weighted sum 3. alpha compositing Pull Request resolved: https://github.com/fairinternal/pytorch3d/pull/4 Reviewed By: nikhilaravi Differential Revision: D20522422 Pulled By: gkioxari fbshipit-source-id: 5023baa05f15e338f3821ef08f5552c2dcbfc06c
-
- 18 Mar, 2020 4 commits
-
-
Patrick Labatut authored
Summary: Add pattern linter for PyTorch3D and SlowFast, this will suggest typo fixes whenever the wrong case is accidentally used. Reviewed By: wanyenlo Differential Revision: D20498696 fbshipit-source-id: 1a3f4702bd0dbe06e81d0f301b3ea38ea62e7885
-
Georgia Gkioxari authored
Re-sync with internal repository
-
Nikhila Ravi authored
-
Dave Greenwood authored
Summary: Create extrinsic parameters from eye point. Create the rotation and translation from an eye point, look-at point and up vector. see: https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/gluLookAt.xml It is arguably easier to initialise a camera position as a point in the world rather than an angle. Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/65 Reviewed By: bottler Differential Revision: D20419652 Pulled By: nikhilaravi fbshipit-source-id: 9caa1330860bb8bde1fb5c3864ed4cde836a5d19
-
- 17 Mar, 2020 4 commits
-
-
Patrick Labatut authored
Summary: Enable spelling linter for Markdown, reStructuredText and IPython notebooks under `fbcode/vision/fair`. Apply suggested fixes. Reviewed By: ppwwyyxx Differential Revision: D20495298 fbshipit-source-id: 95310c7b51f9fa68ba2aa34ecc39a874da36a75c
-
Nikhila Ravi authored
Summary: A few small website updates: - changed the tutorials to point to the `stable` tag on github so we don't have to update the website each time we want to run them! - changed the colab button - re ran notebook cells to update the images for textured meshes Once these fixes are landed I can build and publish the website. Reviewed By: bottler Differential Revision: D20484836 fbshipit-source-id: 603a05e752f631c60d1a3abb9adeb1b9b451ab98
-
Patrick Labatut authored
Summary: Use a consistent case for PyTorch3D (matching the logo...): replace all occurrences of PyTorch3d with PyTorch3D across the codebase (including documentation and notebooks) Reviewed By: wanyenlo, gkioxari Differential Revision: D20427546 fbshipit-source-id: 8c7697f51434c51e99b7fe271935932c72a1d9b9
-
Nikhila Ravi authored
Summary: Fix errors raised by issue on GitHub - extending mesh textures + rendering with Gourad and Phong shaders. https://github.com/facebookresearch/pytorch3d/issues/97 Reviewed By: gkioxari Differential Revision: D20319610 fbshipit-source-id: d1c692ff0b9397a77a9b829c5c731790de70c09f
-
- 16 Mar, 2020 2 commits
-
-
Jeremy Reizenstein authored
Summary: D20426113 made a mistake, in that it added a dev tag to all conda builds. This makes the simplest fix, which is to never have the dev tag. Reviewed By: nikhilaravi Differential Revision: D20468541 fbshipit-source-id: adc71b58d59356834d33f65a75cf8ba84359bc74
-
Jeremy Reizenstein authored
Summary: Ensure copyright header consistency and translation unit name uniqueness. Reviewed By: nikhilaravi Differential Revision: D20438802 fbshipit-source-id: 9820cfe4c6efab016a0a8589dfa24bb526692f83
-
- 15 Mar, 2020 1 commit
-
-
Nikhila Ravi authored
Summary: Added a padded to packed utils function which takes either split sizes or a padding value to remove padded elements from a tensor. Reviewed By: gkioxari Differential Revision: D20454238 fbshipit-source-id: 180b807ff44c74c4ee9d5c1ac3b5c4a9b4be57c7
-
- 13 Mar, 2020 2 commits
-
-
Jeremy Reizenstein authored
Summary: This isn't the whole task, but it gets the version number into far fewer places. The doc / website are separate. Reviewed By: nikhilaravi Differential Revision: D20426113 fbshipit-source-id: 5810d1eca58b443fcd5f46991dc2f0f26adedbd8
-
Jeremy Reizenstein authored
Summary: Comments were describing squared distance as absolute distance in a few places. Reviewed By: nikhilaravi Differential Revision: D20426020 fbshipit-source-id: 009946867c4a98f61f5ce7158542d41e22bf8346
-