1. 25 Jul, 2022 1 commit
  2. 22 Jul, 2022 1 commit
  3. 05 Jul, 2022 1 commit
  4. 11 May, 2022 1 commit
  5. 05 Apr, 2022 1 commit
    • Vasilis Vryniotis's avatar
      Post-paper Detection Optimizations (#5444) · 08cc9a7f
      Vasilis Vryniotis authored
      * Use frozen BN only if pre-trained.
      
      * Add LSJ and ability to from scratch training.
      
      * Fixing formatter
      
      * Adding `--opt` and `--norm-weight-decay` support in Detection.
      
      * Fix error message
      
      * Make ScaleJitter proportional.
      
      * Adding more norm layers in split_normalization_params.
      
      * Add FixedSizeCrop
      
      * Temporary fix for fill values on PIL
      
      * Fix the bug on fill.
      
      * Add RandomShortestSize.
      
      * Skip resize when an augmentation method is used.
      
      * multiscale in [480, 800]
      
      * Add missing star
      
      * Add new RetinaNet variant.
      
      * Add tests.
      
      * Update expected file for old retina
      
      * Fixing tests
      
      * Add FrozenBN to retinav2
      
      * Fix network initialization issues
      
      * Adding BN support in MaskRCNNHeads and FPN
      
      * Adding support of FasterRCNNHeads
      
      * Introduce norm_layers in backbone utils.
      
      * Bigger RPN head + 2x rcnn v2 models.
      
      * Adding gIoU support to retinanet
      
      * Fix assert
      
      * Add back nesterov momentum
      
      * Rename and extend `FastRCNNConvFCHead` to support arbitrary FCs
      
      * Fix linter
      08cc9a7f
  6. 29 Mar, 2022 1 commit
  7. 15 Mar, 2022 1 commit
  8. 24 Feb, 2022 1 commit
  9. 23 Feb, 2022 1 commit
  10. 21 Jan, 2022 1 commit
    • Hu Ye's avatar
      add FCOS (#4961) · 7d4bdd43
      Hu Ye authored
      
      
      * add fcos
      
      * update fcos
      
      * add giou_loss
      
      * add BoxLinearCoder for FCOS
      
      * add full code for FCOS
      
      * add giou loss
      
      * add fcos
      
      * add __all__
      
      * Fixing lint
      
      * Fixing lint in giou_loss.py
      
      * Add typing annotation to fcos
      
      * Add trained checkpoints
      
      * Use partial to replace lambda
      
      * Minor fixes to docstrings
      
      * Apply ufmt format
      
      * Fixing docstrings
      
      * Fixing jit scripting
      
      * Minor fixes to docstrings
      
      * Fixing jit scripting
      
      * Ignore mypy in fcos
      
      * Fixing trained checkpoints
      
      * Fixing unit-test of jit script
      
      * Fixing docstrings
      
      * Add test/expect/ModelTester.test_fcos_resnet50_fpn_expect.pkl
      
      * Fixing test_detection_model_trainable_backbone_layers
      
      * Update test_fcos_resnet50_fpn_expect.pkl
      
      * rename stride to box size
      
      * remove TODO and fix some typo
      
      * merge some code for better
      
      * impove the comments
      
      * remove decode and encode of BoxLinearCoder
      
      * remove some unnecessary hints
      
      * use the default value in detectron2.
      
      * update doc
      
      * Add unittest for BoxLinearCoder
      
      * Add types in FCOS
      
      * Add docstring for BoxLinearCoder
      
      * Minor fix for the docstring
      
      * update doc
      
      * Update fcos_resnet50_fpn_coco pretained weights url
      
      * Update torchvision/models/detection/fcos.py
      Co-authored-by: default avatarVasilis Vryniotis <datumbox@users.noreply.github.com>
      
      * Update torchvision/models/detection/fcos.py
      Co-authored-by: default avatarVasilis Vryniotis <datumbox@users.noreply.github.com>
      
      * Update torchvision/models/detection/fcos.py
      Co-authored-by: default avatarVasilis Vryniotis <datumbox@users.noreply.github.com>
      
      * Update torchvision/models/detection/fcos.py
      Co-authored-by: default avatarVasilis Vryniotis <datumbox@users.noreply.github.com>
      
      * Add FCOS model documentation
      
      * Fix typo in FCOS documentation
      
      * Add fcos to the prototype builder
      
      * Capitalize COCO_V1
      
      * Fix params of fcos
      
      * fix bug for partial
      
      * Fixing docs indentation
      
      * Fixing docs format in giou_loss
      
      * Adopt Reference for GIoU Loss
      
      * Rename giou_loss to generalized_box_iou_loss
      
      * remove overwrite_eps
      
      * Update AP test values
      
      * Minor fixes for the docs
      
      * Minor fixes for the docs
      
      * Update torchvision/models/detection/fcos.py
      Co-authored-by: default avatarZhiqiang Wang <zhiqwang@foxmail.com>
      
      * Update torchvision/prototype/models/detection/fcos.py
      Co-authored-by: default avatarZhiqiang Wang <zhiqwang@foxmail.com>
      Co-authored-by: default avatarzhiqiang <zhiqwang@foxmail.com>
      Co-authored-by: default avatarJoao Gomes <jdsgomes@fb.com>
      Co-authored-by: default avatarVasilis Vryniotis <datumbox@users.noreply.github.com>
      Co-authored-by: default avatarJoao Gomes <joaopsgomes@gmail.com>
      7d4bdd43
  11. 28 Oct, 2021 1 commit
  12. 12 Oct, 2021 1 commit
  13. 04 Oct, 2021 1 commit
    • Philip Meier's avatar
      Add ufmt (usort + black) as code formatter (#4384) · 5f0edb97
      Philip Meier authored
      
      
      * add ufmt as code formatter
      
      * cleanup
      
      * quote ufmt requirement
      
      * split imports into more groups
      
      * regenerate circleci config
      
      * fix CI
      
      * clarify local testing utils section
      
      * use ufmt pre-commit hook
      
      * split relative imports into local category
      
      * Revert "split relative imports into local category"
      
      This reverts commit f2e224cde2008c56c9347c1f69746d39065cdd51.
      
      * pin black and usort dependencies
      
      * fix local test utils detection
      
      * fix ufmt rev
      
      * add reference utils to local category
      
      * fix usort config
      
      * remove custom categories sorting
      
      * Run pre-commit without fixing flake8
      
      * got a double import in merge
      Co-authored-by: default avatarNicolas Hug <nicolashug@fb.com>
      5f0edb97
  14. 02 Sep, 2021 1 commit
  15. 30 Apr, 2021 1 commit
    • Vasilis Vryniotis's avatar
      Add SSD architecture with VGG16 backbone (#3403) · 730c5e1e
      Vasilis Vryniotis authored
      * Early skeleton of API.
      
      * Adding MultiFeatureMap and vgg16 backbone.
      
      * Making vgg16 backbone same as paper.
      
      * Making code generic to support all vggs.
      
      * Moving vgg's extra layers a separate class + L2 scaling.
      
      * Adding header vgg layers.
      
      * Fix maxpool patching.
      
      * Refactoring code to allow for support of different backbones & sizes:
      - Skeleton for Default Boxes generator class
      - Dynamic estimation of configuration when possible
      - Addition of types
      
      * Complete the implementation of DefaultBox generator.
      
      * Replace randn with empty.
      
      * Minor refactoring
      
      * Making clamping between 0 and 1 optional.
      
      * Change xywh to xyxy encoding.
      
      * Adding parameters and reusing objects in constructor.
      
      * Temporarily inherit from Retina to avoid dup code.
      
      * Implement forward methods + temp workarounds to inherit from retina.
      
      * Inherit more methods from retinanet.
      
      * Fix type error.
      
      * Add Regression loss.
      
      * Fixing JIT issues.
      
      * Change JIT workaround to minimize new code.
      
      * Fixing initialization bug.
      
      * Add classification loss.
      
      * Update todos.
      
      * Add weight loading support.
      
      * Support SSD512.
      
      * Change kernel_size to get output size 1x1
      
      * Add xavier init and refactoring.
      
      * Adding unit-tests and fixing JIT issues.
      
      * Add a test for dbox generator.
      
      * Remove unnecessary import.
      
      * Workaround on GeneralizedRCNNTransform to support fixed size input.
      
      * Remove unnecessary random calls from the test.
      
      * Remove more rand calls from the test.
      
      * change mapping and handling of empty labels
      
      * Fix JIT warnings.
      
      * Speed up loss.
      
      * Convert 0-1 dboxes to original size.
      
      * Fix warning.
      
      * Fix tests.
      
      * Update comments.
      
      * Fixing minor bugs.
      
      * Introduce a custom DBoxMatcher.
      
      * Minor refactoring
      
      * Move extra layer definition inside feature extractor.
      
      * handle no bias on init.
      
      * Remove fixed image size limitation
      
      * Change initialization values for bias of classification head.
      
      * Refactoring and update test file.
      
      * Adding ResNet backbone.
      
      * Minor refactoring.
      
      * Remove inheritance of retina and general refactoring.
      
      * SSD should fix the input size.
      
      * Fixing messages and comments.
      
      * Silently ignoring exception if test-only.
      
      * Update comments.
      
      * Update regression loss.
      
      * Restore Xavier init everywhere, update the negative sampling method, change the clipping approach.
      
      * Fixing tests.
      
      * Refactor to move the losses from the Head to the SSD.
      
      * Removing resnet50 ssd version.
      
      * Adding support for best performing backbone and its config.
      
      * Refactor and clean up the API.
      
      * Fix lint
      
      * Update todos and comments.
      
      * Adding RandomHorizontalFlip and RandomIoUCrop transforms.
      
      * Adding necessary checks to our tranforms.
      
      * Adding RandomZoomOut.
      
      * Adding RandomPhotometricDistort.
      
      * Moving Detection transforms to references.
      
      * Update presets
      
      * fix lint
      
      * leave compose and object
      
      * Adding scaling for completeness.
      
      * Adding params in the repr
      
      * Remove unnecessary import.
      
      * minor refactoring
      
      * Remove unnecessary call.
      
      * Give better names to DBox* classes
      
      * Port num_anchors estimation in generator
      
      * Remove rescaling and fix presets
      
      * Add the ability to pass a custom head and refactoring.
      
      * fix lint
      
      * Fix unit-test
      
      * Update todos.
      
      * Change mean values.
      
      * Change the default parameter of SSD to train the full VGG16 and remove the catch of exception for eval only.
      
      * Adding documentation
      
      * Adding weights and updating readmes.
      
      * Update the model weights with a more performing model.
      
      * Adding doc for head.
      
      * Restore import.
      730c5e1e
  16. 10 Mar, 2021 1 commit
  17. 29 Jan, 2021 1 commit
  18. 14 Jan, 2021 1 commit
  19. 22 Dec, 2020 1 commit
  20. 15 Dec, 2020 1 commit
  21. 03 Nov, 2020 1 commit
  22. 24 Sep, 2020 1 commit
  23. 26 Jun, 2020 1 commit
  24. 26 May, 2020 1 commit
  25. 18 May, 2020 1 commit
  26. 07 May, 2020 1 commit
  27. 24 Apr, 2020 1 commit
  28. 31 Mar, 2020 1 commit
  29. 13 Mar, 2020 1 commit
  30. 16 Dec, 2019 1 commit
  31. 11 Dec, 2019 1 commit
  32. 25 Nov, 2019 1 commit
    • eellison's avatar
      Make maskrcnn scriptable (#1407) · d88d8961
      eellison authored
      * almost working...
      
      * respond to comments
      
      * add empty tensor op, handle different output types in generalized rcnn
      
      * clean ups
      
      * address comments
      
      * more changes
      
      * it's working!
      
      * torchscript bugs
      
      * add script/ eager test
      
      * eval script model
      
      * fix flake
      
      * division import
      
      * py2 compat
      
      * update test, fix arange bug
      
      * import division statement
      
      * fix linter
      
      * fixes
      
      * changes needed for JIT master
      
      * cleanups
      
      * remove imagelist_to
      
      * requested changes
      
      * Make FPN backwards-compatible and torchscript compatible
      
      We remove support for feature channels=0, but support for it was already a bit limited
      
      * Fix ONNX regression
      d88d8961
  33. 15 Oct, 2019 1 commit
    • Lara Haidar's avatar
      Support Exporting RPN to ONNX (#1329) · 1d6145d1
      Lara Haidar authored
      * Support Exporting RPN to ONNX
      
      * address PR comments
      
      * fix cat
      
      * add flatten
      
      * replace cat by stack
      
      * update test to run only on rpn module
      
      * use tolerate_small_mismatch
      1d6145d1
  34. 19 May, 2019 1 commit
    • Francisco Massa's avatar
      Add Faster R-CNN and Mask R-CNN (#898) · ccd1b27d
      Francisco Massa authored
      * [Remove] Use stride in 1x1 in resnet
      
      This is temporary
      
      * Move files to torchvision
      
      Inference works
      
      * Now seems to give same results
      
      Was using the wrong number of total iterations in the end...
      
      * Distributed evaluation seems to work
      
      * Factor out transforms into its own file
      
      * Enabling horizontal flips
      
      * MultiStepLR and preparing for launches
      
      * Add warmup
      
      * Clip gt boxes to images
      
      Seems to be crucial to avoid divergence. Also reduces the losses over different processes for better logging
      
      * Single-GPU batch-size 1 of CocoEvaluator works
      
      * Multi-GPU CocoEvaluator works
      
      Gives the exact same results as the other one, and also supports batch size > 1
      
      * Silence prints from pycocotools
      
      * Commenting unneeded code for run
      
      * Fixes
      
      * Improvements and cleanups
      
      * Remove scales from Pooler
      
      It was not a free parameter, and depended only on the feature map dimensions
      
      * Cleanups
      
      * More cleanups
      
      * Add misc ops and totally remove maskrcnn_benchmark
      
      * nit
      
      * Move Pooler to ops
      
      * Make FPN slightly more generic
      
      * Minor improvements or FPN
      
      * Move FPN to ops
      
      * Move functions to utils
      
      * Lint fixes
      
      * More lint
      
      * Minor cleanups
      
      * Add FasterRCNN
      
      * Remove modifications to resnet
      
      * Fixes for Python2
      
      * More lint fixes
      
      * Add aspect ratio grouping
      
      * Move functions around
      
      * Make evaluation use all images for mAP, even those without annotations
      
      * Bugfix with DDP introduced in last commit
      
      * [Check] Remove category mapping
      
      * Lint
      
      * Make GroupedBatchSampler prioritize largest clusters in the end of iteration
      
      * Bugfix for selecting the iou_types during evaluation
      
      Also switch to using the torchvision normalization now on, given that we are using torchvision base models
      
      * More lint
      
      * Add barrier after init_process_group
      
      Better be safe than sorry
      
      * Make evaluation only use one CPU thread per process
      
      When doing multi-gpu evaluation, paste_masks_in_image is multithreaded and throttles evaluation altogether. Also change default for aspect ratio group to match Detectron
      
      * Fix bug in GroupedBatchSampler
      
      After the first epoch, the number of batch elements could be larger than batch_size, because they got accumulated from the previous iteration. Fix this and also rename some variables for more clarity
      
      * Start adding KeypointRCNN
      
      Currently runs and perform inference, need to do full training
      
      * Remove use of opencv in keypoint inference
      
      PyTorch 1.1 adds support for bicubic interpolation which matches opencv (except for empty boxes, where one of the dimensions is 1, but that's fine)
      
      * Remove Masker
      
      Towards having mask postprocessing done inside the model
      
      * Bugfixes in previous change plus cleanups
      
      * Preparing to run keypoint training
      
      * Zero initialize bias for mask heads
      
      * Minor improvements on print
      
      * Towards moving resize to model
      
      Also remove class mapping specific to COCO
      
      * Remove zero init in bias for mask head
      
      Checking if it decreased accuracy
      
      * [CHECK] See if this change brings back expected accuracy
      
      * Cleanups on model and training script
      
      * Remove BatchCollator
      
      * Some cleanups in coco_eval
      
      * Move postprocess to transform
      
      * Revert back scaling and start adding conversion to coco api
      
      The scaling didn't seem to matter
      
      * Use decorator instead of context manager in evaluate
      
      * Move training and evaluation functions to a separate file
      
      Also adds support for obtaining a coco API object from our dataset
      
      * Remove unused code
      
      * Update location of lr_scheduler
      
      Its behavior has changed in PyTorch 1.1
      
      * Remove debug code
      
      * Typo
      
      * Bugfix
      
      * Move image normalization to model
      
      * Remove legacy tensor constructors
      
      Also move away from Int and instead use int64
      
      * Bugfix in MultiscaleRoiAlign
      
      * Move transforms to its own file
      
      * Add missing file
      
      * Lint
      
      * More lint
      
      * Add some basic test for detection models
      
      * More lint
      ccd1b27d