1. 20 May, 2019 4 commits
  2. 19 May, 2019 5 commits
    • Francisco Massa's avatar
      Split mask_rcnn.py into several files (#921) · cf401a70
      Francisco Massa authored
      * Split mask_rcnn.py into several files
      
      * Lint
      cf401a70
    • Francisco Massa's avatar
      Move segmentation models to its own folder (#918) · 86db394e
      Francisco Massa authored
      * Move segmentation models to its own folder
      
      * Add missing files
      86db394e
    • ekka's avatar
      Remove dependency from functool in ShuffleNetsV2 (#916) · 967ef26c
      ekka authored
      * Remove dependency from functool in ShuffleNetsV2
      
      This PR removes the dependence of the ShuffleNetV2 code from `functool`.
      
      * flake fix
      967ef26c
    • 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
    • Francisco Massa's avatar
      Upload pre-trained weights for MobileNet and ResNeXt (#917) · 6272c412
      Francisco Massa authored
      Also move weights from ShuffleNet to PyTorch bucket. Additionally, rename shufflenet to make it consistent with the other models
      6272c412
  3. 17 May, 2019 1 commit
  4. 10 May, 2019 1 commit
    • Francisco Massa's avatar
      Initial version of segmentation reference scripts (#820) · 50d54a82
      Francisco Massa authored
      * Initial version of the segmentation examples
      
      WIP
      
      * Cleanups
      
      * [WIP]
      
      * Tag where runs are being executed
      
      * Minor additions
      
      * Update model with new resnet API
      
      * [WIP] Using torchvision datasets
      
      * Improving datasets
      
      Leverage more and more torchvision datasets
      
      * Reorganizing datasets
      
      * PEP8
      
      * No more SegmentationModel
      
      Also remove outplanes from ResNet, and add a function for querying intermediate outputs. I won't keep it in the end, because it's very hacky and don't work with tracing
      
      * Minor cleanups
      
      * Moving transforms to its own file
      
      * Move models to torchvision
      
      * Bugfixes
      
      * Multiply LR by 10 for classifier
      
      * Remove classifier x 10
      
      * Add tests for segmentation models
      
      * Update with latest utils from classification
      
      * Lint and missing import
      50d54a82
  5. 08 May, 2019 1 commit
    • Bar's avatar
      Enhance ShufflenetV2 (#892) · 43ab2fef
      Bar authored
      * Enhance ShufflenetV2
      
      Class shufflenetv2 receives `stages_repeats` and `stages_out_channels` arguments.
      
      * remove explicit num_classes argument from utility functions
      43ab2fef
  6. 07 May, 2019 2 commits
    • ekka's avatar
      Refactoring of ShuffleNetV2 (#889) · 0564df43
      ekka authored
      * Minor refactoring of ShuffleNetV2
      
      Added progress flag following #875. Further the following refactoring was also done:
      
      1) added `version` argument in shufflenetv2 method and removed the operations for converting the `width_mult` arg to float and string.
      2) removed `num_classes` argument and **kwargs from functions except `ShuffleNetV2`
      
      * removed `version` arg
      
      * Update shufflenetv2.py
      
      * Removed the try except block
      
      * Update shufflenetv2.py
      
      * Changed version from float to str
      
      * Replace `width_mult` with `stages_out_channels`
      
      Removes the need of  `_getStages` function.
      0564df43
    • bddppq's avatar
  7. 06 May, 2019 1 commit
  8. 03 May, 2019 1 commit
  9. 30 Apr, 2019 2 commits
  10. 24 Apr, 2019 1 commit
  11. 17 Apr, 2019 1 commit
  12. 15 Apr, 2019 1 commit
  13. 08 Apr, 2019 1 commit
  14. 05 Apr, 2019 1 commit
  15. 04 Apr, 2019 1 commit
    • Sepehr Sameni's avatar
      make auxiliary heads in pretrained models optional (#828) · 50ea596e
      Sepehr Sameni authored
      * add aux_logits support to inception
      
      it is related to pytorch/pytorch#18668
      
      * instantiate InceptionAux only when requested
      
      it is related to pytorch/pytorch#18668
      
      * revert googlenet
      
      * support and aux_logits in pretrained models
      
      * return namedtuple when aux_logit is True
      50ea596e
  16. 02 Apr, 2019 2 commits
  17. 01 Apr, 2019 1 commit
  18. 29 Mar, 2019 2 commits
  19. 28 Mar, 2019 1 commit
    • Francisco Massa's avatar
      Add MobileNet V2 (#818) · a61803f0
      Francisco Massa authored
      * Add MobileNet V2
      
      * Remove redundant functions and make tests pass
      
      * Simplify a bit the implementation
      
      * Reuse ConvBNReLU more often
      
      * Remove input_size and minor changes
      
      * Py2 fix
      a61803f0
  20. 26 Mar, 2019 3 commits
  21. 11 Mar, 2019 1 commit
  22. 09 Mar, 2019 2 commits
  23. 07 Mar, 2019 1 commit
    • Michael Kösel's avatar
      Add GoogLeNet (Inception v1) (#678) · a2093007
      Michael Kösel authored
      * Add GoogLeNet (Inception v1)
      
      * Fix missing padding
      
      * Add missing ReLu to aux classifier
      
      * Add Batch normalized version of GoogLeNet
      
      * Use ceil_mode instead of padding and initialize weights using "xavier"
      
      * Match BVLC GoogLeNet zero initialization of classifier
      
      * Small cleanup
      
      * use adaptive avg pool
      
      * adjust network to match TensorFlow
      
      * Update url of pre-trained model and add classification results on ImageNet
      
      * Bugfix that improves performance by 1 point
      a2093007
  24. 18 Feb, 2019 1 commit
  25. 14 Feb, 2019 2 commits