1. 16 Jul, 2024 2 commits
    • Jeremy Reizenstein's avatar
      allow matrix_to_quaternion onnx export · 7edaee71
      Jeremy Reizenstein authored
      Summary: Attempt to allow torch.onnx.dynamo_export(matrix_to_quaternion) to work.
      
      Differential Revision: D59812279
      
      fbshipit-source-id: 4497e5b543bec9d5c2bdccfb779d154750a075ad
      7edaee71
    • Roman Shapovalov's avatar
      Fix: setting FrameData.crop_bbox_xywh for backwards compatibility · d0d0e020
      Roman Shapovalov authored
      Summary: This diff is fixing a backwards compatibility issue in PyTorch3D's dataset API. The code ensures that the `crop_bbox_xywh` attribute is set when box_crop flag is on. This is an implementation detail that people should not really use, however some people depend on this behaviour.
      
      Reviewed By: bottler
      
      Differential Revision: D59777449
      
      fbshipit-source-id: b875e9eb909038b8629ccdade87661bb2c39d529
      d0d0e020
  2. 11 Jul, 2024 1 commit
    • Jeremy Reizenstein's avatar
      remove fvcore dependency · 4df110b0
      Jeremy Reizenstein authored
      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
      4df110b0
  3. 27 Jun, 2024 1 commit
  4. 25 Jun, 2024 1 commit
    • Jeremy Reizenstein's avatar
      version 0.7.7 · 89653419
      Jeremy Reizenstein authored
      Summary: New version
      
      Reviewed By: MichaelRamamonjisoa
      
      Differential Revision: D58668979
      
      fbshipit-source-id: 195eaf83e4da51a106ef72e38dbb98c51c51724c
      89653419
  5. 21 Jun, 2024 2 commits
  6. 20 Jun, 2024 1 commit
  7. 17 Jun, 2024 4 commits
    • vedrenne's avatar
      Allow indexing for classes inheriting Transform3d (#1801) · b0462d80
      vedrenne authored
      Summary:
      Currently, it is not possible to access a sub-transform using an indexer for all 3d transforms inheriting the `Transforms3d` class.
      For instance:
      
      ```python
      from pytorch3d import transforms
      
      N = 10
      r = transforms.random_rotations(N)
      T = transforms.Transform3d().rotate(R=r)
      R = transforms.Rotate(r)
      
      x = T[0]  # ok
      x = R[0]  # TypeError: __init__() got an unexpected keyword argument 'matrix'
      ```
      
      This is because all these classes (namely `Rotate`, `Translate`, `Scale`, `RotateAxisAngle`) inherit the `__getitem__()` method from `Transform3d` which has the [following code on line 201](https://github.com/facebookresearch/pytorch3d/blob/main/pytorch3d/transforms/transform3d.py#L201):
      
      ```python
      return self.__class__(matrix=self.get_matrix()[index])
      ```
      
      The four classes inheriting `Transform3d` are not initialized through a matrix argument, hence they error.
      I propose to modify the `__getitem__()` method of the `Transform3d` class to fix this behavior. The least invasive way to do it I can think of consists of creating an empty instance of the current class, then setting the `_matrix` attribute manually. Thus, instead of
      ```python
      return self.__class__(matrix=self.get_matrix()[index])
      ```
      I propose to do:
      ```python
      instance = self.__class__.__new__(self.__class__)
      instance._matrix = self.get_matrix()[index]
      return instance
      ```
      
      As far as I can tell, this modification occurs no modification whatsoever for the user, except for the ability to index all 3d transforms.
      
      Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/1801
      
      Reviewed By: MichaelRamamonjisoa
      
      Differential Revision: D58410389
      
      Pulled By: bottler
      
      fbshipit-source-id: f371e4c63d2ae4c927a7ad48c2de8862761078de
      b0462d80
    • Jeremy Reizenstein's avatar
      Undo c10=>std optional rename · b66d17a3
      Jeremy Reizenstein authored
      Summary: Undoes the pytorch3d changes in D57294278 because they break builds for for PyTorch<2.1 .
      
      Reviewed By: MichaelRamamonjisoa
      
      Differential Revision: D57379779
      
      fbshipit-source-id: 47a12511abcec4c3f4e2f62eff5ba99deb2fab4c
      b66d17a3
    • Kyle Vedder's avatar
      Fixed last dimension size check so that it doesn't trivially pass. (#1815) · 717493cb
      Kyle Vedder authored
      Summary:
      Currently, it checks that the `2`th dimension of `p2` is the same size as the `2`th dimension of `p2` instead of `p1`.
      
      Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/1815
      
      Reviewed By: MichaelRamamonjisoa
      
      Differential Revision: D58586966
      
      Pulled By: bottler
      
      fbshipit-source-id: d4f723fa264f90fe368c10825c1acdfdc4c406dc
      717493cb
    • Jeremy Reizenstein's avatar
      builds for PyTorch 2.2.1 2.2.2 2.3.0 2.3.1 · 302da694
      Jeremy Reizenstein authored
      Summary: Build for new pytorch versions
      
      Reviewed By: MichaelRamamonjisoa
      
      Differential Revision: D58668956
      
      fbshipit-source-id: 7fdfb377b370448d6147daded6a21b8db87586fb
      302da694
  8. 30 May, 2024 1 commit
    • Roman Shapovalov's avatar
      Moving ray bundle to float dtype · 4ae25bfc
      Roman Shapovalov authored
      Summary: We can now move ray bundle to float dtype (e.g. from fp16 like types).
      
      Reviewed By: bottler
      
      Differential Revision: D57493109
      
      fbshipit-source-id: 4e18a427e968b646fe5feafbff653811cd007981
      4ae25bfc
  9. 13 May, 2024 1 commit
  10. 10 May, 2024 1 commit
  11. 02 May, 2024 1 commit
    • Richard Barnes's avatar
      Remove unused-but-set variables in... · aec76bb4
      Richard Barnes authored
      Remove unused-but-set variables in vision/fair/pytorch3d/pytorch3d/csrc/pulsar/include/renderer.render.device.h +1
      
      Summary:
      This diff removes a variable that was set, but which was not used.
      
      LLVM-15 has a warning `-Wunused-but-set-variable` which we treat as an error because it's so often diagnostic of a code issue. Unused but set variables often indicate a programming mistake, but can also just be unnecessary cruft that harms readability and performance.
      
      Removing this variable will not change how your code works, but the unused variable may indicate your code isn't working the way you thought it was. I've gone through each of these by hand, but mistakes may have slipped through. If you feel the diff needs changes before landing, **please commandeer** and make appropriate changes: there are hundreds of these and responding to them individually is challenging.
      
      For questions/comments, contact r-barnes.
      
       - If you approve of this diff, please use the "Accept & Ship" button :-)
      
      Reviewed By: bottler
      
      Differential Revision: D56886956
      
      fbshipit-source-id: 0c515ed98b812b1c106a59e19ec90751ce32e8c0
      aec76bb4
  12. 14 Apr, 2024 1 commit
    • Andres Suarez's avatar
      Apply clang-format 18 · 47d5dc88
      Andres Suarez authored
      Summary: Previously this code conformed from clang-format 12.
      
      Reviewed By: igorsugak
      
      Differential Revision: D56065247
      
      fbshipit-source-id: f5a985dd8f8b84f2f9e1818b3719b43c5a1b05b3
      47d5dc88
  13. 03 Apr, 2024 1 commit
  14. 02 Apr, 2024 2 commits
  15. 28 Mar, 2024 1 commit
    • Roeia Kishk's avatar
      Changed tutorials' pip searching · 31e3488a
      Roeia Kishk authored
      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
      31e3488a
  16. 27 Mar, 2024 1 commit
  17. 12 Mar, 2024 1 commit
    • Cijo Jose's avatar
      TexturesUV multiple maps · 38cf0dc1
      Cijo Jose authored
      Summary: Implements the  the TexturesUV with multiple map ids.
      
      Reviewed By: bottler
      
      Differential Revision: D53944063
      
      fbshipit-source-id: 06c25eb6d69f72db0484f16566dd2ca32a560b82
      38cf0dc1
  18. 07 Mar, 2024 1 commit
  19. 05 Mar, 2024 1 commit
  20. 03 Mar, 2024 1 commit
    • Amethyst Reese's avatar
      apply Black 2024 style in fbcode (4/16) · 3da7703c
      Amethyst Reese authored
      Summary:
      Formats the covered files with pyfmt.
      
      paintitblack
      
      Reviewed By: aleivag
      
      Differential Revision: D54447727
      
      fbshipit-source-id: 8844b1caa08de94d04ac4df3c768dbf8c865fd2f
      3da7703c
  21. 19 Feb, 2024 2 commits
    • Jeremy Reizenstein's avatar
      version 0.7.6 · f34104cf
      Jeremy Reizenstein authored
      Summary: New version
      
      Reviewed By: cijose
      
      Differential Revision: D53852987
      
      fbshipit-source-id: 962ab9f61153883df9da0601356bd6b108dc5df7
      f34104cf
    • Jeremy Reizenstein's avatar
      Update tutorials for 0.7.6 · f247c86d
      Jeremy Reizenstein authored
      Summary:
      version number changed with
      `sed -i "s/2.1\./2.2./" *b`
      
      Reviewed By: cijose
      
      Differential Revision: D53852986
      
      fbshipit-source-id: 1662c8e6d671321887a3263bc3880d5c33d1f866
      f247c86d
  22. 16 Feb, 2024 1 commit
    • Cijo Jose's avatar
      Support color in cubify · ae9d8787
      Cijo Jose authored
      Summary: The diff support colors in cubify for align = "center"
      
      Reviewed By: bottler
      
      Differential Revision: D53777011
      
      fbshipit-source-id: ccb2bd1e3d89be3d1ac943eff08f40e50b0540d9
      ae9d8787
  23. 13 Feb, 2024 1 commit
    • Jeremy Reizenstein's avatar
      Make OpenGL optional in tests · 8772fe0d
      Jeremy Reizenstein authored
      Summary: Add an option to run tests without the OpenGL Renderer.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D53573400
      
      fbshipit-source-id: 54a14e7b2f156d24e0c561fdb279f4a9af01b793
      8772fe0d
  24. 08 Feb, 2024 1 commit
    • Ada Martin's avatar
      c++ marching cubes fix · c292c71c
      Ada Martin authored
      Summary:
      Fixes https://github.com/facebookresearch/pytorch3d/issues/1641. The bug was caused by the mistaken downcasting of an int64_t into int, causing issues only on inputs large enough to have hashes that escaped the bounds of an int32.
      
      Also added a test case for this issue.
      
      Reviewed By: bottler
      
      Differential Revision: D53505370
      
      fbshipit-source-id: 0fdd0efc6d259cc3b0263e7ff3a4ab2c648ec521
      c292c71c
  25. 07 Feb, 2024 1 commit
  26. 31 Jan, 2024 1 commit
  27. 27 Jan, 2024 1 commit
  28. 26 Jan, 2024 1 commit
  29. 25 Jan, 2024 1 commit
  30. 18 Jan, 2024 1 commit
    • Dimitris Prountzos's avatar
      Fix compiler warning in knn.ku · 1e817914
      Dimitris Prountzos authored
      Summary: This change updates the type of p2_idx from size_t to int64_t to address compiler warnings related to signed/unsigned comparison.
      
      Reviewed By: bottler
      
      Differential Revision: D52879393
      
      fbshipit-source-id: de5484d78a907fccdaae3ce036b5e4a1a0a4de70
      1e817914
  31. 16 Jan, 2024 1 commit
  32. 04 Jan, 2024 1 commit
    • Abdelrahman Selim's avatar
      Update so3 operations for numerical stability · 292acc71
      Abdelrahman Selim authored
      Summary: Replace implementations of `so3_exp_map` and `so3_log_map` in so3.py with existing more-stable implementations.
      
      Reviewed By: bottler
      
      Differential Revision: D52513319
      
      fbshipit-source-id: fbfc039643fef284d8baa11bab61651964077afe
      292acc71
  33. 03 Jan, 2024 1 commit