1. 01 Aug, 2022 1 commit
    • Jeremy Reizenstein's avatar
      provide cow dataset · 14bd5e28
      Jeremy Reizenstein authored
      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
      14bd5e28
  2. 28 Jul, 2022 1 commit
    • Jeremy Reizenstein's avatar
      redefinition -> defaults kept in config · 6b481595
      Jeremy Reizenstein authored
      Summary:
      This is an internal change in the config systen. It allows redefining a pluggable implementation with new default values. This is useful in notebooks / interactive use. For example, this now works.
      
              class A(ReplaceableBase):
                  pass
      
              registry.register
              class B(A):
                  i: int = 4
      
              class C(Configurable):
                  a: A
                  a_class_type: str = "B"
      
                  def __post_init__(self):
                      run_auto_creation(self)
      
              expand_args_fields(C)
      
              registry.register
              class B(A):
                  i: int = 5
      
              c = C()
      
              assert c.a.i == 5
      
      Reviewed By: shapovalov
      
      Differential Revision: D38219371
      
      fbshipit-source-id: 72911a9bd3426d3359cf8802cc016fc7f6d7713b
      6b481595
  3. 22 Jul, 2022 2 commits
    • Krzysztof Chalupka's avatar
      Add MeshRasterizerOpenGL · cb495504
      Krzysztof Chalupka authored
      Summary:
      Adding MeshRasterizerOpenGL, a faster alternative to MeshRasterizer. The new rasterizer follows the ideas from "Differentiable Surface Rendering via non-Differentiable Sampling".
      
      The new rasterizer 20x faster on a 2M face mesh (try pose optimization on Nefertiti from https://www.cs.cmu.edu/~kmcrane/Projects/ModelRepository/!). The larger the mesh, the larger the speedup.
      
      There are two main disadvantages:
      * The new rasterizer works with an OpenGL backend, so requires pycuda.gl and pyopengl installed (though we avoided writing any C++ code, everything is in Python!)
      * The new rasterizer is non-differentiable. However, you can still differentiate the rendering function if you use if with the new SplatterPhongShader which we recently added to PyTorch3D (see the original paper cited above).
      
      Reviewed By: patricklabatut, jcjohnson
      
      Differential Revision: D37698816
      
      fbshipit-source-id: 54d120639d3cb001f096237807e54aced0acda25
      cb495504
    • Krzysztof Chalupka's avatar
      Add EGLContext and DeviceContextManager · 78bb6d17
      Krzysztof Chalupka authored
      Summary:
      EGLContext is a utility to render with OpenGL without an attached display (that is, without a monitor).
      
      DeviceContextManager allows us to avoid unnecessary context creations and releases. See docstrings for more info.
      
      Reviewed By: jcjohnson
      
      Differential Revision: D36562551
      
      fbshipit-source-id: eb0d2a2f85555ee110e203d435a44ad243281d2c
      78bb6d17
  4. 21 Jul, 2022 1 commit
    • Jeremy Reizenstein's avatar
      lazy all_train_cameras · 3783437d
      Jeremy Reizenstein authored
      Summary: Avoid calculating all_train_cameras before it is needed, because it is slow in some datasets.
      
      Reviewed By: shapovalov
      
      Differential Revision: D38037157
      
      fbshipit-source-id: 95461226655cde2626b680661951ab17ebb0ec75
      3783437d
  5. 19 Jul, 2022 1 commit
  6. 13 Jul, 2022 1 commit
  7. 11 Jul, 2022 1 commit
    • Jeremy Reizenstein's avatar
      fix test · 57a40b36
      Jeremy Reizenstein authored
      Summary: remove erroneous RandomDataLoaderMapProvider
      
      Reviewed By: davnov134
      
      Differential Revision: D37751116
      
      fbshipit-source-id: cf3b555dc1e6304425914d1522b4f70407b498bf
      57a40b36
  8. 10 Jul, 2022 2 commits
    • David Novotny's avatar
      JsonIndexDatasetProviderV2 · e8390d35
      David Novotny authored
      Summary: A new version of json index dataset provider supporting CO3Dv2
      
      Reviewed By: shapovalov
      
      Differential Revision: D37690918
      
      fbshipit-source-id: bf2d5fc9d0f1220259e08661dafc69cdbe6b7f94
      e8390d35
    • David Novotny's avatar
      Changes for CO3Dv2 release [part1] · 4300030d
      David Novotny authored
      Summary:
      Implements several changes needed for the CO3Dv2 release:
      - FrameData contains crop_bbox_xywh which defines the outline of the image crop corresponding to the image-shaped tensors in FrameData
      - revised the definition of a bounding box inside JsonDatasetIndex: bbox_xyxy is [xmin, ymin, xmax, ymax], where xmax, ymax are not inclusive; bbox_xywh = [xmin, ymain, xmax-xmin, ymax-ymin]
      - is_filtered for detecting whether the entries of the dataset were somehow filtered
      - seq_frame_index_to_dataset_index allows to skip entries that are not present in the dataset
      
      Reviewed By: shapovalov
      
      Differential Revision: D37687547
      
      fbshipit-source-id: 7842756b0517878cc0964fc0935d3c0769454d78
      4300030d
  9. 06 Jul, 2022 2 commits
    • Jeremy Reizenstein's avatar
      get_all_train_cameras · 4e87c2b7
      Jeremy Reizenstein authored
      Summary: As part of removing Task, make the dataset code generate the source cameras for itself. There's a small optimization available here, in that the JsonIndexDataset could avoid loading images.
      
      Reviewed By: shapovalov
      
      Differential Revision: D37313423
      
      fbshipit-source-id: 3e5e0b2aabbf9cc51f10547a3523e98c72ad8755
      4e87c2b7
    • Jeremy Reizenstein's avatar
      more padding options in Dataloader · 771cf8a3
      Jeremy Reizenstein authored
      Summary: Add facilities for dataloading non-sequential scenes.
      
      Reviewed By: shapovalov
      
      Differential Revision: D37291277
      
      fbshipit-source-id: 0a33e3727b44c4f0cba3a2abe9b12f40d2a20447
      771cf8a3
  10. 04 Jul, 2022 1 commit
    • David Novotny's avatar
      Refactor autodecoders · 0dce8832
      David Novotny authored
      Summary: Refactors autodecoders. Tests pass.
      
      Reviewed By: bottler
      
      Differential Revision: D37592429
      
      fbshipit-source-id: 8f5c9eac254e1fdf0704d5ec5f69eb42f6225113
      0dce8832
  11. 30 Jun, 2022 1 commit
    • Krzysztof Chalupka's avatar
      Refactor ViewMetrics · ae35824f
      Krzysztof Chalupka authored
      Summary:
      Make ViewMetrics easy to replace by putting them into an OmegaConf dataclass.
      
      Also, re-word a few variable names and fix minor TODOs.
      
      Reviewed By: bottler
      
      Differential Revision: D37327157
      
      fbshipit-source-id: 78d8e39bbb3548b952f10abbe05688409fb987cc
      ae35824f
  12. 28 Jun, 2022 1 commit
    • Roman Shapovalov's avatar
      Fix: typo in dict processing · 7ce8ed55
      Roman Shapovalov authored
      Summary:
      David had his code crashed when using frame_annot["meta"] dictionary. Turns out we had a typo.
      The tests were passing by chance since all the keys were single-character strings.
      
      Reviewed By: bottler
      
      Differential Revision: D37503987
      
      fbshipit-source-id: c12b0df21116cfbbc4675a0182b9b9e6d62bad2e
      7ce8ed55
  13. 24 Jun, 2022 2 commits
  14. 22 Jun, 2022 2 commits
    • Jeremy Reizenstein's avatar
      provide fg_probability for blender data · 3e4fb0b9
      Jeremy Reizenstein authored
      Summary: The blender synthetic dataset contains object masks in the alpha channel. Provide these in the corresponding dataset.
      
      Reviewed By: shapovalov
      
      Differential Revision: D37344380
      
      fbshipit-source-id: 3ddacad9d667c0fa0ae5a61fb1d2ffc806c9abf3
      3e4fb0b9
    • Jeremy Reizenstein's avatar
      Llff & blender convention fix · 731ea53c
      Jeremy Reizenstein authored
      Summary: Images were coming out in the wrong format.
      
      Reviewed By: shapovalov
      
      Differential Revision: D37291278
      
      fbshipit-source-id: c10871c37dd186982e7abf2071ac66ed583df2e6
      731ea53c
  15. 20 Jun, 2022 1 commit
    • Jeremy Reizenstein's avatar
      bg_color for lstm renderer · cba26506
      Jeremy Reizenstein authored
      Summary: Allow specifying a color for non-opaque pixels in LSTMRenderer.
      
      Reviewed By: davnov134
      
      Differential Revision: D37172537
      
      fbshipit-source-id: 6039726678bb7947f7d8cd04035b5023b2d5398c
      cba26506
  16. 16 Jun, 2022 1 commit
    • Jeremy Reizenstein's avatar
      loading llff and blender datasets · 65f667fd
      Jeremy Reizenstein authored
      Summary: Copy code from NeRF for loading LLFF data and blender synthetic data, and create dataset objects for them
      
      Reviewed By: shapovalov
      
      Differential Revision: D35581039
      
      fbshipit-source-id: af7a6f3e9a42499700693381b5b147c991f57e5d
      65f667fd
  17. 10 Jun, 2022 4 commits
    • Jeremy Reizenstein's avatar
      pluggable JsonIndexDataset · 62752832
      Jeremy Reizenstein authored
      Summary: Make dataset type and args configurable on JsonIndexDatasetMapProvider.
      
      Reviewed By: davnov134
      
      Differential Revision: D36666705
      
      fbshipit-source-id: 4d0a3781d9a956504f51f1c7134c04edf1eb2846
      62752832
    • Jeremy Reizenstein's avatar
      PathManagerFactory · 1d432513
      Jeremy Reizenstein authored
      Summary: Allow access to manifold internally by default.
      
      Reviewed By: davnov134
      
      Differential Revision: D36760481
      
      fbshipit-source-id: 2a16bd40e81ef526085ac1b3f4606b63c1841428
      1d432513
    • Jeremy Reizenstein's avatar
      allow get_default_args(JsonIndexDataset) · 1fb268de
      Jeremy Reizenstein authored
      Summary: Changes to JsonIndexDataset to make it fit with OmegaConf.structured. Also match some default values to what the provider defaults to.
      
      Reviewed By: davnov134
      
      Differential Revision: D36666704
      
      fbshipit-source-id: 65b059a1dbaa240ce85c3e8762b7c3db3b5a6e75
      1fb268de
    • Jeremy Reizenstein's avatar
      hooks and allow registering base class · 8bc0a04e
      Jeremy Reizenstein authored
      Summary: Allow a class to modify its subparts in get_default_args by defining the special function provide_config_hook.
      
      Reviewed By: davnov134
      
      Differential Revision: D36671081
      
      fbshipit-source-id: 3e5b73880cb846c494a209c4479835f6352f45cf
      8bc0a04e
  18. 01 Jun, 2022 1 commit
    • Jeremy Reizenstein's avatar
      Fix tests for OSS · 5cd70067
      Jeremy Reizenstein authored
      Summary: New paths.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D36734929
      
      fbshipit-source-id: c0ce7ee9145ddca07ef3758d31cc3c261b088e7d
      5cd70067
  19. 25 May, 2022 3 commits
  20. 22 May, 2022 1 commit
  21. 20 May, 2022 5 commits
    • Jeremy Reizenstein's avatar
      simplify image_feature_extractor control · 2d1c6d5d
      Jeremy Reizenstein authored
      Summary: If no view pooling, don't disable image_feature_extractor. Make image_feature_extractor default to absent.
      
      Reviewed By: davnov134
      
      Differential Revision: D36547815
      
      fbshipit-source-id: e51718e1bcbf65b8b365a6e894d4324f136635e9
      2d1c6d5d
    • Jeremy Reizenstein's avatar
      ImplicitronDatasetBase -> DatasetBase · 9fe15da3
      Jeremy Reizenstein authored
      Summary: Just a rename
      
      Reviewed By: shapovalov
      
      Differential Revision: D36516885
      
      fbshipit-source-id: 2126e3aee26d89a95afdb31e06942d61cbe88d5a
      9fe15da3
    • Jeremy Reizenstein's avatar
      data_loader_map_provider · 0f12c516
      Jeremy Reizenstein authored
      Summary: replace dataloader_zoo with a pluggable DataLoaderMapProvider.
      
      Reviewed By: shapovalov
      
      Differential Revision: D36475441
      
      fbshipit-source-id: d16abb190d876940434329928f2e3f2794a25416
      0f12c516
    • Jeremy Reizenstein's avatar
      dataset_map_provider · 79c61a2d
      Jeremy Reizenstein authored
      Summary: replace dataset_zoo with a pluggable DatasetMapProvider. The logic is now in annotated_file_dataset_map_provider.
      
      Reviewed By: shapovalov
      
      Differential Revision: D36443965
      
      fbshipit-source-id: 9087649802810055e150b2fbfcc3c197a761f28a
      79c61a2d
    • Jeremy Reizenstein's avatar
      New file for ImplicitronDatasetBase · 69c6d06e
      Jeremy Reizenstein authored
      Summary: Separate ImplicitronDatasetBase and FrameData (to be used by all data sources) from ImplicitronDataset (which is specific).
      
      Reviewed By: shapovalov
      
      Differential Revision: D36413111
      
      fbshipit-source-id: 3725744cde2e08baa11aff4048237ba10c7efbc6
      69c6d06e
  22. 18 May, 2022 1 commit
    • Jeremy Reizenstein's avatar
      Make feature extractor pluggable · 9ec9d057
      Jeremy Reizenstein authored
      Summary: Make ResNetFeatureExtractor be an implementation of FeatureExtractorBase.
      
      Reviewed By: davnov134
      
      Differential Revision: D35433098
      
      fbshipit-source-id: 0664a9166a88e150231cfe2eceba017ae55aed3a
      9ec9d057
  23. 17 May, 2022 2 commits
    • Jeremy Reizenstein's avatar
      FrameAnnotation.meta, Optional in _dataclass_from_dict · f632c423
      Jeremy Reizenstein authored
      Summary: Allow extra data in a FrameAnnotation. Therefore allow Optional[T] systematically in _dataclass_from_dict
      
      Reviewed By: davnov134
      
      Differential Revision: D36442691
      
      fbshipit-source-id: ba70f6491574c08b0d9c9acb63f35514d29de214
      f632c423
    • Jeremy Reizenstein's avatar
      allow Optional[Dict]=None in config · f36b11fe
      Jeremy Reizenstein authored
      Summary: Fix recently observed case where enable_get_default_args was missing things declared as Optional[something mutable]=None.
      
      Reviewed By: davnov134
      
      Differential Revision: D36440492
      
      fbshipit-source-id: 192ec07564c325b3b24ccc49b003788f67c63a3d
      f36b11fe
  24. 16 May, 2022 1 commit
    • Jeremy Reizenstein's avatar
      create_x_impl · 899a3192
      Jeremy Reizenstein authored
      Summary: Make create_x delegate to create_x_impl so that users can rely on create_x_impl in their overrides of create_x.
      
      Reviewed By: shapovalov, davnov134
      
      Differential Revision: D35929810
      
      fbshipit-source-id: 80595894ee93346b881729995775876b016fc08e
      899a3192
  25. 15 May, 2022 1 commit
    • John Reese's avatar
      apply import merging for fbcode (11 of 11) · 3b230064
      John Reese authored
      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: lisroach
      
      Differential Revision: D36402260
      
      fbshipit-source-id: 7cb52f09b740ccc580e61e6d1787d27381a8ce00
      3b230064