1. 17 May, 2023 1 commit
    • Roman Shapovalov's avatar
      Refactor: FrameDataBuilder is more extensible. · b0462598
      Roman Shapovalov authored
      Summary:
      This is mostly a refactoring diff to reduce friction in extending the frame data.
      
      Slight functional changes: dataset getitem now accepts (seq_name, frame_number_as_singleton_tensor) as a non-advertised feature. Otherwise this code crashes:
      ```
      item = dataset[0]
      dataset[item.sequence_name, item.frame_number]
      ```
      
      Reviewed By: bottler
      
      Differential Revision: D45780175
      
      fbshipit-source-id: 75b8e8d3dabed954a804310abdbd8ab44a8dea29
      b0462598
  2. 14 May, 2023 1 commit
    • Virendra Kumar Pathak's avatar
      Softly deprecate the get_str=False flag. · d08fe6d4
      Virendra Kumar Pathak authored
      Summary: We don't want to use print directly in stats.print() method. Instead this method will return the output string to the caller.
      
      Reviewed By: shapovalov
      
      Differential Revision: D45356240
      
      fbshipit-source-id: 2cabe3cdfb9206bf09aa7b3cdd2263148a5ba145
      d08fe6d4
  3. 10 May, 2023 2 commits
    • Jeremy Reizenstein's avatar
      version 0.7.4 · 297020a4
      Jeremy Reizenstein authored
      Summary: version number
      
      Reviewed By: shapovalov
      
      Differential Revision: D45704549
      
      fbshipit-source-id: d63867f305b07c30ed9ea104f1494d23710fdbb7
      297020a4
    • Jeremy Reizenstein's avatar
      builds for PyTorch 2.0.1; drop 1.9 · 062e6c54
      Jeremy Reizenstein authored
      Summary: Drop support for PyTorch 1.9.0 and 1.9.1.
      
      Reviewed By: shapovalov
      
      Differential Revision: D45704329
      
      fbshipit-source-id: c0fe3ecf6a1eb9bcd4163785c0cb4bf4f5060f50
      062e6c54
  4. 09 May, 2023 1 commit
    • Roman Shapovalov's avatar
      Fix: FrameDataBuilder working with PathManager · c80180c9
      Roman Shapovalov authored
      Summary: In refactoring, we lost path manager here, which broke manifold storage. Fixing this.
      
      Reviewed By: bottler
      
      Differential Revision: D45574940
      
      fbshipit-source-id: 579349eaa654215a09e057be57b56b46769c986a
      c80180c9
  5. 08 May, 2023 1 commit
  6. 07 May, 2023 1 commit
    • dhb's avatar
      allow saving vertex normal in save_obj (#1511) · 092400f1
      dhb authored
      Summary:
      Although we can load per-vertex normals in `load_obj`, saving per-vertex normals is not supported in `save_obj`.
      
      This patch fixes this by allowing passing per-vertex normal data in `save_obj`:
      ``` python
      def save_obj(
          f: PathOrStr,
          verts,
          faces,
          decimal_places: Optional[int] = None,
          path_manager: Optional[PathManager] = None,
          *,
          verts_normals: Optional[torch.Tensor] = None,
          faces_normals: Optional[torch.Tensor] = None,
          verts_uvs: Optional[torch.Tensor] = None,
          faces_uvs: Optional[torch.Tensor] = None,
          texture_map: Optional[torch.Tensor] = None,
      ) -> None:
          """
          Save a mesh to an .obj file.
      
          Args:
              f: File (str or path) to which the mesh should be written.
              verts: FloatTensor of shape (V, 3) giving vertex coordinates.
              faces: LongTensor of shape (F, 3) giving faces.
              decimal_places: Number of decimal places for saving.
              path_manager: Optional PathManager for interpreting f if
                  it is a str.
              verts_normals: FloatTensor of shape (V, 3) giving the normal per vertex.
              faces_normals: LongTensor of shape (F, 3) giving the index into verts_normals
                  for each vertex in the face.
              verts_uvs: FloatTensor of shape (V, 2) giving the uv coordinate per vertex.
              faces_uvs: LongTensor of shape (F, 3) giving the index into verts_uvs for
                  each vertex in the face.
              texture_map: FloatTensor of shape (H, W, 3) representing the texture map
                  for the mesh which will be saved as an image. The values are expected
                  to be in the range [0, 1],
          """
      ```
      
      Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/1511
      
      Reviewed By: shapovalov
      
      Differential Revision: D45086045
      
      Pulled By: bottler
      
      fbshipit-source-id: 666efb0d2c302df6cf9f2f6601d83a07856bf32f
      092400f1
  7. 05 May, 2023 4 commits
  8. 04 May, 2023 2 commits
    • Jeremy Reizenstein's avatar
      nondeterminism warnings · ef5f6202
      Jeremy Reizenstein authored
      Summary: do like xformers.
      
      Reviewed By: shapovalov
      
      Differential Revision: D44541873
      
      fbshipit-source-id: 2c23160591cd9026fcd4972998d1bc90adba1356
      ef5f6202
    • Roman Shapovalov's avatar
      More tests for SQL Dataset · 3e3644e5
      Roman Shapovalov authored
      Summary:
      I forgot to include these tests to D45086611 when transferring code from pixar_replay repo.
      
      They test the new ORM types used in SQL dataset and are SQL Alchemy 2.0 specific.
      
      An important test for extending types is a proof of concept for generality of SQL Dataset. The idea is to extend FrameAnnotation and FrameData in parallel.
      
      Reviewed By: bottler
      
      Differential Revision: D45529284
      
      fbshipit-source-id: 2a634e518f580c312602107c85fc320db43abcf5
      3e3644e5
  9. 01 May, 2023 1 commit
    • Ilia Vitsnudel's avatar
      Adding save mesh into glb file in TexturesVertex format · 178a7774
      Ilia Vitsnudel authored
      Summary:
      Added a suit of functions and code additions to experimental_gltf_io.py file to enable saving Meshes in TexturesVertex format into .glb file.
      Also added a test to tets_io_gltf.py to check the functionality with the test described in Test Plane.
      
      Reviewed By: bottler
      
      Differential Revision: D44969144
      
      fbshipit-source-id: 9ce815a1584b510442fa36cc4dbc8d41cc3786d5
      178a7774
  10. 27 Apr, 2023 1 commit
    • Emilien Garreau's avatar
      Simplify _xy_grid computation in raysampling · 823ab75d
      Emilien Garreau authored
      Summary: Remove the need of tuple and reversed in the raysampling xy_grid computation
      
      Reviewed By: bottler
      
      Differential Revision: D45269342
      
      fbshipit-source-id: d0e4c0923b9a2cca674b35e8d64862043a0eab3b
      823ab75d
  11. 25 Apr, 2023 1 commit
    • Roman Shapovalov's avatar
      SQL Index Dataset · 32e19929
      Roman Shapovalov authored
      Summary:
      Moving SQL dataset to PyTorch3D. It has been extensively tested in pixar_replay.
      
      It requires SQLAlchemy 2.0, which is not supported in fbcode. So I exclude the sources and tests that depend on it from buck TARGETS.
      
      Reviewed By: bottler
      
      Differential Revision: D45086611
      
      fbshipit-source-id: 0285f03e5824c0478c70ad13731525bb5ec7deef
      32e19929
  12. 20 Apr, 2023 1 commit
    • Roman Shapovalov's avatar
      When bounding boxes are cached in metadata, don’t crash on load_masks=False · 7aeedd17
      Roman Shapovalov authored
      Summary:
      We currently support caching bounding boxes in MaskAnnotation. If present, they are not re-computed from the mask. However, the masks need to be loaded for the bbox to be set.
      
      This diff fixes that. Even if load_masks / load_blobs are unset, the bounding box can be picked up from the metadata.
      
      Reviewed By: bottler
      
      Differential Revision: D45144918
      
      fbshipit-source-id: 8a2e2c115e96070b6fcdc29cbe57e1cee606ddcd
      7aeedd17
  13. 18 Apr, 2023 1 commit
  14. 14 Apr, 2023 1 commit
  15. 12 Apr, 2023 1 commit
  16. 04 Apr, 2023 4 commits
  17. 31 Mar, 2023 1 commit
    • Dejan Kovachev's avatar
      Hard population of registry system with pre_expand · c759fc56
      Dejan Kovachev authored
      Summary: Provide an extension point pre_expand to let a configurable class A make sure another class B is registered before A is expanded. This reduces top level imports.
      
      Reviewed By: bottler
      
      Differential Revision: D44504122
      
      fbshipit-source-id: c418bebbe6d33862d239be592d9751378eee3a62
      c759fc56
  18. 24 Mar, 2023 1 commit
    • Emilien Garreau's avatar
      Add the OverfitModel · 813e941d
      Emilien Garreau authored
      Summary:
      Introduces the OverfitModel for NeRF-style training with overfitting to one scene.
      It is a specific case of GenericModel. It has been disentangle to ease usage.
      
      ## General modification
      
      1. Modularize a minimum GenericModel to introduce OverfitModel
      2. Introduce OverfitModel and ensure through unit testing that it behaves like GenericModel.
      
      ## Modularization
      
      The following methods have been extracted from GenericModel to allow modularity with ManyViewModel:
      - get_objective is now a call to weighted_sum_losses
      - log_loss_weights
      - prepare_inputs
      
      The generic methods have been moved to an utils.py file.
      
      Simplify the code to introduce OverfitModel.
      
      Private methods like chunk_generator are now public and can now be used by ManyViewModel.
      
      Reviewed By: shapovalov
      
      Differential Revision: D43771992
      
      fbshipit-source-id: 6102aeb21c7fdd56aa2ff9cd1dd23fd9fbf26315
      813e941d
  19. 23 Mar, 2023 1 commit
    • Jeremy Reizenstein's avatar
      increment_version for inplace ops · 7d8b029a
      Jeremy Reizenstein authored
      Summary: For safety checks, make inplace forward operations in cuda and c++ call increment_version.
      
      Reviewed By: davidsonic
      
      Differential Revision: D44302504
      
      fbshipit-source-id: 6ff62251e352d6778cb54399e2e11459e16e77ba
      7d8b029a
  20. 21 Mar, 2023 1 commit
  21. 18 Mar, 2023 1 commit
  22. 09 Mar, 2023 2 commits
  23. 28 Feb, 2023 1 commit
  24. 20 Feb, 2023 1 commit
  25. 06 Feb, 2023 1 commit
  26. 02 Feb, 2023 1 commit
  27. 01 Feb, 2023 1 commit
  28. 29 Jan, 2023 2 commits
  29. 27 Jan, 2023 2 commits