summaryrefslogtreecommitdiff
path: root/models/model.py
AgeCommit message (Collapse)Author
2021-02-28Implement sum of loss default in [1]Jordan Gong
[1]A. Hermans, L. Beyer, and B. Leibe, “In defense of the triplet loss for person re-identification,” arXiv preprint arXiv:1703.07737, 2017.
2021-02-28Log n-ile embedding distance and normJordan Gong
2021-02-27Implement Batch Hard triplet loss and soft marginJordan Gong
2021-02-26Fix predict functionJordan Gong
2021-02-20Separate triplet loss from modelJordan Gong
2021-02-19Allow evaluate unfinished modelJordan Gong
2021-02-18Implement adjustable input size and change some default configsJordan Gong
2021-02-18Decode mean appearance featureJordan Gong
2021-02-16Split transform and evaluate methodJordan Gong
2021-02-15Revert "Memory usage improvement"Jordan Gong
This reverts commit be508061
2021-02-14Memory usage improvementJordan Gong
This update separates input data to two batches, which reduces ~30% memory usage.
2021-02-14Prepare for DataParallelJordan Gong
2021-02-10Save scheduler state_dictJordan Gong
2021-02-09Improve performance when disentanglingJordan Gong
This is a HUGE performance optimization, up to 2x faster than before. Mainly because of the replacement of randomized for-loop with randomized tensor.
2021-02-09Some optimizationsJordan Gong
1. Scheduler will decay the learning rate of auto-encoder only 2. Write learning rate history to tensorboard 3. Reduce image log frequency
2021-02-08Code refactoring, modifications and new featuresJordan Gong
1. Decode features outside of auto-encoder 2. Turn off HPM 1x1 conv by default 3. Change canonical feature map size from `feature_channels * 8 x 4 x 2` to `feature_channels * 2 x 16 x 8` 4. Use mean of canonical embeddings instead of mean of static features 5. Calculate static and dynamic loss separately 6. Calculate mean of parts in triplet loss instead of sum of parts 7. Add switch to log disentangled images 8. Change default configuration
2021-01-23Remove the third term in canonical consistency lossJordan Gong
2021-01-23Add late start support for non-disentangling partsJordan Gong
2021-01-23Evaluation bug fixes and code reviewJordan Gong
1. Return full cached clip in evaluation 2. Add multi-iter checkpoints support in evaluation 3. Remove duplicated code while transforming
2021-01-22Handle unexpected restore iterJordan Gong
1. Skip finished model before load it 2. Raise error when restore iter is greater than total iter
2021-01-21Print average losses after 100 itersJordan Gong
2021-01-14Enable optimizer fine tuningJordan Gong
2021-01-14Remove DataParallelJordan Gong
2021-01-13Update config file and convert int to str when joiningJordan Gong
2021-01-13Add multiple checkpoints for different model and set default config valueJordan Gong
2021-01-12Move the model to GPU before constructing optimizerJordan Gong
2021-01-12Some changes in hyperparameter configJordan Gong
1. Separate hyperparameter configs in model, optimizer and scheduler 2. Add more tunable hyperparameters in optimizer and scheduler
2021-01-12Some type hint fixesJordan Gong
2021-01-12Typo correct in evaluate functionJordan Gong
2021-01-11Add evaluation script, code review and fix some bugsJordan Gong
1. Add new `train_all` method for one shot calling 2. Print time used in 1k iterations 3. Correct label dimension in predict function 4. Transpose distance matrix for convenient indexing 5. Sort dictionary before generate signature 6. Extract visible CUDA setting function
2021-01-11Implement evaluatorJordan Gong
2021-01-10Make predict function transform samples different conditions in a single shotJordan Gong
2021-01-09Add prototype predict functionJordan Gong
2021-01-07Train different models in different conditionsJordan Gong
2021-01-07Add typical training script and some bug fixesJordan Gong
1. Resolve deprecated scheduler stepping issue 2. Make losses in the same scale(replace mean with sum in separate triplet loss, enlarge pose similarity loss 10x) 3. Add ReLU when compute distance in triplet loss 4. Remove classes except Model from `models` package init
2021-01-07Change device config and add enable multi-GPU computingJordan Gong
1. Add `disable_acc` switch for disabling accelerator. When it is off, system will automatically choosing accelerator. 2. Enable multi-GPU training using torch.nn.DataParallel
2021-01-06Add CUDA supportJordan Gong
2021-01-06Add TensorBoard supportJordan Gong
2021-01-05Implement checkpoint mechanismJordan Gong
2021-01-05Change and improve weight initializationJordan Gong
1. Change initial weights for Conv layers 2. Find a way to init last fc in init_weights
2021-01-03Separate last fc matrix from weight init functionJordan Gong
Recursive apply will override other parameters too
2021-01-03Implement weight initializationJordan Gong
2021-01-03Update hyperparameter configuration, implement prototype fit functionJordan Gong
2020-12-29Correct batch splitterJordan Gong
We can disentangle features from different subjects, but cannot do it at different temporal orders
2020-12-27Implement some parts of main model structureJordan Gong
1. Configuration parsers 2. Model signature generator
2020-12-27Adopt type hinting generics in standard collections (PEP 585)Jordan Gong
2020-12-26Implement batch splitter to split sampled dataJordan Gong
Disentanglement cannot be processed on different subjects at the same time, we need to load `pr` subjects one by one. The batch splitter will return a pr-length list of tuples (with 2 dicts containing k-length lists of labels, conditions, view and k-length tensor of clip data, representing condition 1 and condition 2 respectively).