1. 28 Mar, 2022 1 commit
    • Jeremy Reizenstein's avatar
      setup.py for implicitron_trainer · 0c3bed55
      Jeremy Reizenstein authored
      Summary: Enable `pytorch3d_implicitron_runner` executable
      
      Reviewed By: shapovalov
      
      Differential Revision: D34754902
      
      fbshipit-source-id: 213f3e9183e3f7dd7b4df16ad77d95fbc971d625
      0c3bed55
  2. 25 Mar, 2022 1 commit
    • Roman Shapovalov's avatar
      Return a typed structured config from default_args for callables · 645a47d0
      Roman Shapovalov authored
      Summary:
      Before the fix, running get_default_args(C: Callable) returns an unstructured DictConfig which causes Enums to be handled incorrectly. This is a fix.
      
      WIP update: Currently tests still fail whenever a function signature contains an untyped argument: This needs to be somehow fixed.
      
      Reviewed By: bottler
      
      Differential Revision: D34932124
      
      fbshipit-source-id: ecdc45c738633cfea5caa7480ba4f790ece931e8
      645a47d0
  3. 24 Mar, 2022 1 commit
  4. 21 Mar, 2022 1 commit
  5. 14 Feb, 2022 1 commit
    • Jeremy Reizenstein's avatar
      move LinearWithRepeat to pytorch3d · 2a1de3b6
      Jeremy Reizenstein authored
      Summary: Move this simple layer from the NeRF project into pytorch3d.
      
      Reviewed By: shapovalov
      
      Differential Revision: D34126972
      
      fbshipit-source-id: a9c6d6c3c1b662c1b844ea5d1b982007d4df83e6
      2a1de3b6
  6. 24 Jan, 2022 2 commits
    • Jeremy Reizenstein's avatar
      avoid deprecated raysamplers · 67778cae
      Jeremy Reizenstein authored
      Summary: Migrate away from NDCGridRaysampler and GridRaysampler to their more flexible replacements.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D33281584
      
      fbshipit-source-id: 65f8702e700a32d38f7cd6bda3924bb1707a0633
      67778cae
    • Jeremy Reizenstein's avatar
      New raysamplers · 3eb42338
      Jeremy Reizenstein authored
      Summary: New MultinomialRaysampler succeeds GridRaysampler bringing masking and subsampling. Correspondingly, NDCMultinomialRaysampler succeeds NDCGridRaysampler.
      
      Reviewed By: nikhilaravi, shapovalov
      
      Differential Revision: D33256897
      
      fbshipit-source-id: cd80ec6f35b110d1d20a75c62f4e889ba8fa5d45
      3eb42338
  7. 04 Jan, 2022 1 commit
    • Jeremy Reizenstein's avatar
      Update license for company name · 9eeb456e
      Jeremy Reizenstein authored
      Summary: Update all FB license strings to the new format.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D33403538
      
      fbshipit-source-id: 97a4596c5c888f3c54f44456dc07e718a387a02c
      9eeb456e
  8. 21 Dec, 2021 1 commit
    • Nikhila Ravi's avatar
      Update Harmonic embedding in NeRF · 52c71b88
      Nikhila Ravi authored
      Summary: Removed harmonic embedding function from projects/nerf and changed import to be from core pytorch3d.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D33142358
      
      fbshipit-source-id: 3004247d50392dbd04ea72e9cd4bace0dc03606b
      52c71b88
  9. 11 Oct, 2021 1 commit
    • Jeremy Reizenstein's avatar
      remove PyTorch 1.5 builds · 53d99671
      Jeremy Reizenstein authored
      Summary: PyTorch 1.6.0 came out on 28 Jul 2020. Stop builds for 1.5.0 and 1.5.1. Also update the news section of the README for recent releases.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D31442830
      
      fbshipit-source-id: 20bdd8a07090776d0461240e71c6536d874615f6
      53d99671
  10. 09 Sep, 2021 1 commit
  11. 31 Aug, 2021 2 commits
    • Jeremy Reizenstein's avatar
      (breaking) image_size-agnostic GridRaySampler · 1b8d86a1
      Jeremy Reizenstein authored
      Summary:
      As suggested in #802. By not persisting the _xy_grid buffer, we can allow (in some cases) a model with one image_size to be loaded from a saved model which was trained at a different resolution.
      
      Also avoid persisting _frequencies in HarmonicEmbedding for similar reasons.
      
      BC-break: This will cause load_state_dict, in strict mode, to complain if you try to load an old model with the new code.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D30349234
      
      fbshipit-source-id: d6061d1e51c9f79a78d61a9f732c9a5dfadbbb47
      1b8d86a1
    • Jeremy Reizenstein's avatar
      Use sample_pdf from PyTorch3D in NeRF · 12514463
      Jeremy Reizenstein authored
      Summary:
      Use PyTorch3D's new faster sample_pdf function instead of local Python implementation.
      
      Also clarify deps for the Python implementation.
      
      Reviewed By: gkioxari
      
      Differential Revision: D30512109
      
      fbshipit-source-id: 84cfdc00313fada37a6b29837de96f6a4646434f
      12514463
  12. 16 Aug, 2021 1 commit
    • Jeremy Reizenstein's avatar
      rename master branch to main · b0dd0c88
      Jeremy Reizenstein authored
      Summary: Change doc references to master branch to its new name main.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D30303018
      
      fbshipit-source-id: cfdbb207dfe3366de7e0ca759ed56f4b8dd894d1
      b0dd0c88
  13. 28 Jul, 2021 1 commit
  14. 26 Jun, 2021 1 commit
    • Patrick Labatut's avatar
      More type annotations · f593bfd3
      Patrick Labatut authored
      Summary: More type annotations: device, shaders, pluggable I/O, stats in NeRF project, cameras, textures, etc...
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D29327396
      
      fbshipit-source-id: cdf0ceaaa010e22423088752688c8dd81f1acc3c
      f593bfd3
  15. 24 Jun, 2021 1 commit
    • Patrick Labatut's avatar
      Annotate dunder functions · 64289a49
      Patrick Labatut authored
      Summary: Annotate the (return type of the) following dunder functions across the codebase: `__init__()`, `__len__()`, `__getitem__()`
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D29001801
      
      fbshipit-source-id: 928d9e1c417ffe01ab8c0445311287786e997c7c
      64289a49
  16. 22 Jun, 2021 1 commit
    • Patrick Labatut's avatar
      License lint codebase · af93f348
      Patrick Labatut authored
      Summary: License lint codebase
      
      Reviewed By: theschnitz
      
      Differential Revision: D29001799
      
      fbshipit-source-id: 5c59869911785b0181b1663bbf430bc8b7fb2909
      af93f348
  17. 08 Jun, 2021 2 commits
    • Jeremy Reizenstein's avatar
      NeRF training: avoid caching unused visualization data. · f00ef667
      Jeremy Reizenstein authored
      Summary: If we are not visualizing the training with visdom, then there are a couple of outputs of the coarse rendering step which are not small and are returned by the renderer but never used. We don't need to bother transferring them to the CPU.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D28939958
      
      fbshipit-source-id: 7e0d6681d6524f7fb57b6b20164580006120de80
      f00ef667
    • Patrick Labatut's avatar
      Remove explicit inheritance from object · d76c0072
      Patrick Labatut authored
      Summary:
      All classes implicitly inherit from `object` since Python 3, so remove unnecessary explicit inheritance.
      
      From the [official documentation](https://docs.python.org/3/library/functions.html#object):
      
      > `object` is a base for all classes.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D28942595
      
      fbshipit-source-id: 466c0d19d8a93a6263e7ad734c3e87160cfa6066
      d76c0072
  18. 02 Jun, 2021 3 commits
    • Jeremy Reizenstein's avatar
      cuda streams for color/density in NeRF · 280fed3c
      Jeremy Reizenstein authored
      Summary:
      Inside the implicit function, the color and density calculations are independent and time is saved by putting them on separate streams.
      
      (In fact, colors is slower than densities, and the raymarcher does some calculation with the densities before the colors. So theoretically we could go further and not join the streams together until the colors are actually needed. The code would be more complicated. But the profile suggests that the raymarcher is quick and so this wouldn't be expected to make a big difference.)
      
      In inference, this might increase memory usage, so it isn't an obvious win. That is why I have added a flag.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D28648549
      
      fbshipit-source-id: c087de80d8ccfce1dad3a13e71df2f305a36952e
      280fed3c
    • Jeremy Reizenstein's avatar
      Let harmonic embedding layer include input (NeRF) · f63e49d2
      Jeremy Reizenstein authored
      Summary: When harmonic embedding is used, we always cat its input onto its output before proceeding. Avoid an intermediate tensor by making the module do that for itself.
      
      Reviewed By: davnov134
      
      Differential Revision: D28185791
      
      fbshipit-source-id: 98d92c94a918dd42e16cdadcaac71dabbc7de5c3
      f63e49d2
    • Jeremy Reizenstein's avatar
      LinearWithRepeat layer for NeRF · ab73f8c3
      Jeremy Reizenstein authored
      Summary:
      Add custom layer to avoid repeating copied data for every ray position.
      
      This should also save time in the backward pass because there are fewer multiplies with the weights.
      
      Reviewed By: theschnitz
      
      Differential Revision: D28382412
      
      fbshipit-source-id: 1ba7356cd8520ebd598568ae503e47d31d3989eb
      ab73f8c3
  19. 13 May, 2021 1 commit
    • Jeremy Reizenstein's avatar
      gitignore for NeRF · c9dea621
      Jeremy Reizenstein authored
      Summary: Add gitignore file to ignore data and checkpoints in the NeRF project.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D28382413
      
      fbshipit-source-id: 747d69f4353a76a28acde8ba26a896cb2278f976
      c9dea621
  20. 28 Apr, 2021 1 commit
    • Jeremy Reizenstein's avatar
      use no_grad for sample_pdf in NeRF project · 097b0ef2
      Jeremy Reizenstein authored
      Summary: We don't use gradents of sample_pdf. Here we disable gradient calculation around calling it, instead of calling detach later. There's a theoretical speedup, but mainly this enables using sample_pdf implementations which don't support gradients.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D28057284
      
      fbshipit-source-id: 8a9d5e73f18b34e1e4291028008e02973023638d
      097b0ef2
  21. 14 Apr, 2021 1 commit
  22. 09 Apr, 2021 1 commit
    • Jeremy Reizenstein's avatar
      spelling · 124bb5e3
      Jeremy Reizenstein authored
      Summary: Collection of spelling things, mostly in docs / tutorials.
      
      Reviewed By: gkioxari
      
      Differential Revision: D26101323
      
      fbshipit-source-id: 652f62bc9d71a4ff872efa21141225e43191353a
      124bb5e3
  23. 11 Feb, 2021 1 commit
    • Jeremy Reizenstein's avatar
      test & compilation fixes · 5ac2f421
      Jeremy Reizenstein authored
      Summary:
      Fixes mostly related to the "main" build on circleci.
      -Avoid error to do with tuple copy from initializer_list which is `explicit` on old compiler.
      -Add better reporting to copyright test.
      -Move to PackedTensorAccessor64 from the deprecated PackedTensorAccessor
      -Avoid some warnings about mismatched comparisons.
      
      The "main" build is the only one that runs the test_build stuff. In that area
      -Fix my bad copyright fix D26275931 (https://github.com/facebookresearch/pytorch3d/commit/3463f418b8a3e3c3e6b6a20007b38eb71938ec7f) / 965c9c
      -Add test that all tutorials are valid json.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D26366466
      
      fbshipit-source-id: c4ab8b7e6647987069f7cb7144aa6ab7c24bcdac
      5ac2f421
  24. 05 Feb, 2021 1 commit
    • Jeremy Reizenstein's avatar
      Missing copyright · 3463f418
      Jeremy Reizenstein authored
      Summary: Fix missing copyright header in __init__.py file.
      
      Reviewed By: davnov134
      
      Differential Revision: D26275931
      
      fbshipit-source-id: 965c9cf17383aa27d35d549754ebd99ae7c25f47
      3463f418
  25. 03 Feb, 2021 1 commit
  26. 02 Feb, 2021 10 commits
    • David Novotny's avatar
      Readme · 51de308b
      David Novotny authored
      Summary: Adds the readme file.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D25684459
      
      fbshipit-source-id: f1aaa621a2a67c98d5fcfe33fe9bbfea8f95b537
      51de308b
    • David Novotny's avatar
      Testing script · 2628fb56
      David Novotny authored
      Summary: Implements the test script of NeRF.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D25684450
      
      fbshipit-source-id: 739169d9df706795814912bb9a15e2e65ac92df8
      2628fb56
    • David Novotny's avatar
      Generation of test camera trajectories · dc28b615
      David Novotny authored
      Summary: Implements methods for generating trajectories of test cameras.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D26100869
      
      fbshipit-source-id: cf2b61a34d4c749cd8cba881e97f6c388e57d1f8
      dc28b615
    • David Novotny's avatar
      Main training script · 9751f1f1
      David Novotny authored
      Summary: Implements the training script of NeRF.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D25684439
      
      fbshipit-source-id: 8b19b6dc282eb6bf6e46ec4476bb0f13a84c90dd
      9751f1f1
    • David Novotny's avatar
      NeRF training stats logger. · 5b749118
      David Novotny authored
      Summary: Implements the `Stats` class that handles logging of the training statistics.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D25684430
      
      fbshipit-source-id: 920a1c65917ab5d047988494d92173da60cfd64b
      5b749118
    • David Novotny's avatar
      NeRF dataloader. · 06668483
      David Novotny authored
      Summary: Implements the dataloader for NeRF.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D25684424
      
      fbshipit-source-id: 4f7092ce23135bd418186833a087e243433babc7
      06668483
    • David Novotny's avatar
      Radiance field renderer · eb908487
      David Novotny authored
      Summary: Implements the main NeRF model class that controls the radiance field and its renderer
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D25684419
      
      fbshipit-source-id: fae45572daa6748c6234bd212f3e68110f778238
      eb908487
    • David Novotny's avatar
      Implicit function · bf633ab5
      David Novotny authored
      Summary: Implements the radiance field function of NeRF
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D25684413
      
      fbshipit-source-id: 4bf6dd5d22e6134a09f7b9f314536ec16670f737
      bf633ab5
    • David Novotny's avatar
      Harmonic embedding · 1e82341d
      David Novotny authored
      Summary: Implements the positional embedding of NeRF
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D25684406
      
      fbshipit-source-id: 9f3b657babacff48bd6a0497d7a859607ffa5f89
      1e82341d
    • David Novotny's avatar
      NeRF Raysampler · 7cbda3ec
      David Novotny authored
      Summary: Implements the NeRF raysampler.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D25684403
      
      fbshipit-source-id: 616a60f047c79479f60a6a75d214f87cbfb06d28
      7cbda3ec