• 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
train.py 8.63 KB