1. 03 Aug, 2022 1 commit
    • Darijan Gudelj's avatar
      open_dict for tweaking · 5f069dbb
      Darijan Gudelj authored
      Summary: Made the config system call open_dict when it calls the tweak function.
      
      Reviewed By: shapovalov
      
      Differential Revision: D38315334
      
      fbshipit-source-id: 5924a92d8d0bf399bbf3788247f81fc990e265e7
      5f069dbb
  2. 02 Aug, 2022 3 commits
    • David Novotny's avatar
      Move load_stats to TrainingLoop · c3f8dad5
      David Novotny authored
      Summary:
      Stats are logically connected to the training loop, not to the model. Hence, moving to the training loop.
      
      Also removing resume_epoch from OptimizerFactory in favor of a single place - ModelFactory. This removes the need for config consistency checks etc.
      
      Reviewed By: kjchalup
      
      Differential Revision: D38313475
      
      fbshipit-source-id: a1d188a63e28459df381ff98ad8acdcdb14887b7
      c3f8dad5
    • Jeremy Reizenstein's avatar
      SimpleDataLoaderMapProvider · 3a063f59
      Jeremy Reizenstein authored
      Summary: Simple DataLoaderMapProvider instance
      
      Reviewed By: davnov134
      
      Differential Revision: D38326719
      
      fbshipit-source-id: 58556833e76fae5790d25a59bea0aac4ce046bf1
      3a063f59
    • Darijan Gudelj's avatar
      Add forbidden fields to map_provider_v2 · 37250a43
      Darijan Gudelj authored
      Summary:
      Added _NEED_CONTROL
       to JsonIndexDatasetMapProviderV2 and made dataset_tweak_args use it.
      
      Reviewed By: bottler
      
      Differential Revision: D38313914
      
      fbshipit-source-id: 529847571065dfba995b609a66737bd91e002cfe
      37250a43
  3. 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
  4. 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
  5. 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
  6. 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
  7. 19 Jul, 2022 1 commit
  8. 13 Jul, 2022 1 commit
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 24 Jun, 2022 2 commits
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 25 May, 2022 3 commits
  22. 22 May, 2022 1 commit
  23. 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
  24. 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