1. 10 Aug, 2022 7 commits
    • Jeremy Reizenstein's avatar
      version 0.7.0 · 276c9a8a
      Jeremy Reizenstein authored
      Summary: new version number
      
      Reviewed By: patricklabatut
      
      Differential Revision: D38426307
      
      fbshipit-source-id: 60c6ab53bb46bdece6f20c8fed14f2351f1c606e
      276c9a8a
    • Jeremy Reizenstein's avatar
      avoid math.prod for python 3.7 · 791a0681
      Jeremy Reizenstein authored
      Summary: This makes the new volumes tutorial work on google colab.
      
      Reviewed By: kjchalup
      
      Differential Revision: D38501906
      
      fbshipit-source-id: a606a357e929dae903dc4d9067bd1519f05b1458
      791a0681
    • Jeremy Reizenstein's avatar
      tutorial fix: add visdom · c49ebad2
      Jeremy Reizenstein authored
      Summary: need to pip install visdom in new volumes tutorial.
      
      Reviewed By: kjchalup
      
      Differential Revision: D38501905
      
      fbshipit-source-id: 534bf097e41f05b3389e9420e6dd2b61a4517861
      c49ebad2
    • Jeremy Reizenstein's avatar
      implicitron readme updates · 1cd0cbff
      Jeremy Reizenstein authored
      Summary: add link in main readme
      
      Reviewed By: kjchalup
      
      Differential Revision: D38560053
      
      fbshipit-source-id: 0814febb67d0580394cfa2664e49e31ff7254bd4
      1cd0cbff
    • Jeremy Reizenstein's avatar
      IT readme updates · af48430e
      Jeremy Reizenstein authored
      Summary: Updates for recent replaceables.
      
      Reviewed By: kjchalup
      
      Differential Revision: D38437370
      
      fbshipit-source-id: 00d600aa451e5849ba48107cd7a4319e9fc8549f
      af48430e
    • Jeremy Reizenstein's avatar
      LinearExponential LR · a39cad40
      Jeremy Reizenstein authored
      Summary: Linear followed by exponential LR progression. Needed for making Blender scenes converge.
      
      Reviewed By: kjchalup
      
      Differential Revision: D38557007
      
      fbshipit-source-id: ad630dbc5b8fabcb33eeb5bdeed5e4f31360bac2
      a39cad40
    • Jeremy Reizenstein's avatar
      update notebooks for 0.7.0 · 65e5bb3e
      Jeremy Reizenstein authored
      Summary: We now expect pytorch 1.12
      
      Reviewed By: patricklabatut
      
      Differential Revision: D38425758
      
      fbshipit-source-id: a22e672fcb0dc18f7d6424323d9cc6aaf5fcb4c6
      65e5bb3e
  2. 09 Aug, 2022 2 commits
    • Krzysztof Chalupka's avatar
      Mods and bugfixes for LLFF and Blender repros · c83ec355
      Krzysztof Chalupka authored
      Summary:
      LLFF (and most/all non-synth datasets) will have no background/foreground distinction. Add support for data with no fg mask.
      
      Also, we had a bug in stats loading, like this:
        * Load stats
        * One of the stats has a history of length 0
        * That's fine, e.g. maybe it's fg_error but the dataset has no notion of fg/bg. So leave it as len 0
        * Check whether all the stats have the same history length as an arbitrarily chosen "reference-stat"
        * Ooops the reference-stat happened to be the stat with length 0
        * assert (legit_stat_len == reference_stat_len (=0)) ---> failed assert
      
      Also some minor fixes (from Jeremy's other diff) to support LLFF
      
      Reviewed By: davnov134
      
      Differential Revision: D38475272
      
      fbshipit-source-id: 5b35ac86d1d5239759f537621f41a3aa4eb3bd68
      c83ec355
    • Pyre Bot Jr's avatar
      suppress errors in `vision/fair/pytorch3d` · 624bc5a2
      Pyre Bot Jr authored
      Differential Revision: D38529199
      
      fbshipit-source-id: 4bc0574493b60f13e08d9ea7bded862778b3d171
      624bc5a2
  3. 08 Aug, 2022 3 commits
  4. 05 Aug, 2022 6 commits
    • Sergey Prokudin's avatar
      small fix to the llff dataloader (#1281) · bd93e9ce
      Sergey Prokudin authored
      Summary:
      simply fixing a typo in _ls function
      
      Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/1281
      
      Reviewed By: patricklabatut
      
      Differential Revision: D38457259
      
      Pulled By: bottler
      
      fbshipit-source-id: 5204a57cb4d1fe1c804d8af3301b8ea2945443e8
      bd93e9ce
    • Jeremy Reizenstein's avatar
      circleci fixes · da958435
      Jeremy Reizenstein authored
      Summary:
      Misc fixes.
      
      - most important: the mac image is gone so switch to a newer one.
      - torch.concat is new; was used accidentally
      - remove lpips from testing in meta.yaml as it is breaking the conda test. Better to leave the relevant tests failing in OSS.
      - TypedDict usage is breaking implicitron on Python 3.7.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D38458164
      
      fbshipit-source-id: b16c26453a743b9a771e2a6787b9a4d2a52e41c2
      da958435
    • Jeremy Reizenstein's avatar
      clarify GM.bg_color · 5b8a9b34
      Jeremy Reizenstein authored
      Summary: This field is specific to one purpose.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D38424891
      
      fbshipit-source-id: e017304497012430c30e436da7052b9ad6fc7614
      5b8a9b34
    • Jeremy Reizenstein's avatar
      more globalencoder followup · 02c0254f
      Jeremy Reizenstein authored
      Summary: remove n_instances==0 special case, standardise args for GlobalEncoderBase's forward.
      
      Reviewed By: shapovalov
      
      Differential Revision: D37817340
      
      fbshipit-source-id: 0aac5fbc7c336d09be9d412cffff5712bda27290
      02c0254f
    • Jeremy Reizenstein's avatar
      install trainer inside pytorch3d · 9d888f13
      Jeremy Reizenstein authored
      Summary: One way to tidy the installation so we don't install files in site-packages/projects. Fixes https://github.com/facebookresearch/pytorch3d/issues/1279
      
      Reviewed By: shapovalov, davnov134
      
      Differential Revision: D38426772
      
      fbshipit-source-id: ac1a54fbf230adb53904701e1f38bf9567f647ce
      9d888f13
    • Pyre Bot Jr's avatar
      upgrade pyre version in `fbcode/vision` - batch 2 · a0f786f4
      Pyre Bot Jr authored
      Differential Revision: D38448021
      
      fbshipit-source-id: 966708035115b4870a74f0ca0bbf8ea88b853527
      a0f786f4
  5. 04 Aug, 2022 3 commits
  6. 03 Aug, 2022 4 commits
    • Jeremy Reizenstein's avatar
      clean IF args · 46e82efb
      Jeremy Reizenstein authored
      Summary: continued - avoid duplicate inputs
      
      Reviewed By: davnov134
      
      Differential Revision: D38248827
      
      fbshipit-source-id: 91ed398e304496a936f66e7a70ab3d189eeb5c70
      46e82efb
    • Jeremy Reizenstein's avatar
      clean renderer args · 078846d1
      Jeremy Reizenstein authored
      Summary: continued - don't duplicate inputs
      
      Reviewed By: kjchalup
      
      Differential Revision: D38248829
      
      fbshipit-source-id: 2d56418ecbec9cc597c3cf0c122199e274661516
      078846d1
    • Jeremy Reizenstein's avatar
      clean raysampler args · f45893b8
      Jeremy Reizenstein authored
      Summary: Don't copy from one part of config to another, rather do the copy within GenericModel.
      
      Reviewed By: davnov134
      
      Differential Revision: D38248828
      
      fbshipit-source-id: ff8af985c37ea1f7df9e0aa0a45a58df34c3f893
      f45893b8
    • 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
  7. 02 Aug, 2022 8 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
    • Krzysztof Chalupka's avatar
      Fix test evaluation for Blender data · 760305e0
      Krzysztof Chalupka authored
      Summary: Blender data doesn't have depths or crops.
      
      Reviewed By: shapovalov
      
      Differential Revision: D38345583
      
      fbshipit-source-id: a19300daf666bbfd799d0038aeefa14641c559d7
      760305e0
    • 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
      fix eval_batches in V1 · c63ec817
      Darijan Gudelj authored
      Summary: fix to the D38275943 (https://github.com/facebookresearch/pytorch3d/commit/597e0259dc43bf4903e9c99f5d61410c1ad75b78).
      
      Reviewed By: bottler
      
      Differential Revision: D38355683
      
      fbshipit-source-id: f326f45279fafa57f24b9211ebd3fda18a518937
      c63ec817
    • Krzysztof Chalupka's avatar
      Fix train_stats.pdf: they now work by default · b7b188bf
      Krzysztof Chalupka authored
      Summary: Before this diff, train_stats.py would not be created by default, EXCEPT when resuming training. This makes them appear from start.
      
      Reviewed By: shapovalov
      
      Differential Revision: D38320341
      
      fbshipit-source-id: 8ea5b99ec81c377ae129f58e78dc2eaff94821ad
      b7b188bf
    • Jeremy Reizenstein's avatar
      remove get_task · f8bf5280
      Jeremy Reizenstein authored
      Summary: Remove the dataset's need to provide the task type.
      
      Reviewed By: davnov134, kjchalup
      
      Differential Revision: D38314000
      
      fbshipit-source-id: 3805d885b5d4528abdc78c0da03247edb9abf3f7
      f8bf5280
    • 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
    • Jeremy Reizenstein's avatar
      MeshRasterizerOpenGL import fixes · 3b7ab22d
      Jeremy Reizenstein authored
      Summary: Only import it if you ask for it.
      
      Reviewed By: kjchalup
      
      Differential Revision: D38327167
      
      fbshipit-source-id: 3f05231f26eda582a63afc71b669996342b0c6f9
      3b7ab22d
  8. 01 Aug, 2022 5 commits
    • David Novotny's avatar
      Better error message when dataset root set wrongly in JsonIndexDatasetMapProviderV2 · 5bf6d532
      David Novotny authored
      Summary: <see title>
      
      Reviewed By: bottler
      
      Differential Revision: D38314727
      
      fbshipit-source-id: 7178b816a22b06af938a35c5f7bb88404fb1b1c4
      5bf6d532
    • Darijan Gudelj's avatar
      Made eval_batches be set inside the __init__ · 597e0259
      Darijan Gudelj authored
      Summary: Made eval_batches be set in call to `__init__` not after the construction as they were before
      
      Reviewed By: bottler
      
      Differential Revision: D38275943
      
      fbshipit-source-id: 32737401d1ddd16c284e1851b7a91f8b041c406f
      597e0259
    • David Novotny's avatar
      Better seeding of random engines · 80fc0ee0
      David Novotny authored
      Summary: Currently, seeds are set only inside the train loop. But this does not ensure that the model weights are initialized the same way everywhere which makes all experiments irreproducible. This diff fixes it.
      
      Reviewed By: bottler
      
      Differential Revision: D38315840
      
      fbshipit-source-id: 3d2ecebbc36072c2b68dd3cd8c5e30708e7dd808
      80fc0ee0
    • David Novotny's avatar
      Correct MC rasterization pt. radius · 0c3599e8
      David Novotny authored
      Summary: Fixes the MC rasterization bug
      
      Reviewed By: bottler
      
      Differential Revision: D38312234
      
      fbshipit-source-id: 910cf809ef3faff3de7a8d905b0821f395a52edf
      0c3599e8
    • 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
  9. 30 Jul, 2022 1 commit
    • Krzysztof Chalupka's avatar
      Replace pluggable components to create a proper Configurable hierarchy. · 1b0584f7
      Krzysztof Chalupka authored
      Summary:
      This large diff rewrites a significant portion of Implicitron's config hierarchy. The new hierarchy, and some of the default implementation classes, are as follows:
      ```
      Experiment
          data_source: ImplicitronDataSource
              dataset_map_provider
              data_loader_map_provider
          model_factory: ImplicitronModelFactory
              model: GenericModel
          optimizer_factory: ImplicitronOptimizerFactory
          training_loop: ImplicitronTrainingLoop
              evaluator: ImplicitronEvaluator
      ```
      
      1) Experiment (used to be ExperimentConfig) is now a top-level Configurable and contains as members mainly (mostly new) high-level factory Configurables.
      2) Experiment's job is to run factories, do some accelerate setup and then pass the results to the main training loop.
      3) ImplicitronOptimizerFactory and ImplicitronModelFactory are new high-level factories that create the optimizer, scheduler, model, and stats objects.
      4) TrainingLoop is a new configurable that runs the main training loop and the inner train-validate step.
      5) Evaluator is a new configurable that TrainingLoop uses to run validation/test steps.
      6) GenericModel is not the only model choice anymore. Instead, ImplicitronModelBase (by default instantiated with GenericModel) is a member of Experiment and can be easily replaced by a custom implementation by the user.
      
      All the new Configurables are children of ReplaceableBase, and can be easily replaced with custom implementations.
      
      In addition, I added support for the exponential LR schedule, updated the config files and the test, as well as added a config file that reproduces NERF results and a test to run the repro experiment.
      
      Reviewed By: bottler
      
      Differential Revision: D37723227
      
      fbshipit-source-id: b36bee880d6aa53efdd2abfaae4489d8ab1e8a27
      1b0584f7
  10. 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