- 09 Sep, 2021 1 commit
-
-
Yanghan Wang authored
Summary: https://fb.workplace.com/groups/pythonfoundation/posts/2990917737888352 Remove `mobile-vision` from opt-out list; leaving `mobile-vision/SNPE` opted out because of 3rd-party code. arc lint --take BLACK --apply-patches --paths-cmd 'hg files mobile-vision' allow-large-files Reviewed By: sstsai-adl Differential Revision: D30721093 fbshipit-source-id: 9e5c16d988b315b93a28038443ecfb92efd18ef8
-
- 08 Sep, 2021 1 commit
-
-
Yanghan Wang authored
Differential Revision: D30624781 fbshipit-source-id: 6538813c886ffb9eae2e1d88d500f34c61cae5c0
-
- 02 Sep, 2021 2 commits
-
-
Lydia Chan authored
Summary: ## Context - The current limit on the number of detections per image (`K`) in LVIS is 300. - Implementing AP_pool/AP_fixed requires removing this default limit on `K` - [Literature](https://arxiv.org/pdf/2102.01066.pdf) has shown that increasing `K` correlates with AP gains ## This Diff - Changed limit on number of detections per image (`K`) to be customizable for LVIS and COCO through `TEST.DETECTIONS_PER_IMAGE` in the config - For COCO: - Maintain the default `max_dets_per_image` to be [1, 10, 100] as from [COCOEval](https://www.internalfb.com/code/fbsource/[88bb57c3054a]/fbcode/deeplearning/projects/cocoApi/PythonAPI/pycocotools/cocoeval.py?lines=28-29) - Allow users to input a custom integer for `TEST.DETECTIONS_PER_IMAGE` in the config, and use [1, 10, `TEST.DETECTIONS_PER_IMAGE`] for COCOEval - For LVIS: - Maintain the default `max_dets_per_image` to be 300 as from [LVISEval](https://www.internalfb.com/code/fbsource/[f6b86d023721]/fbcode/deeplearning/projects/lvisApi/lvis/eval.py?lines=528-529) - Allow users to input a custom integer for `TEST.DETECTIONS_PER_IMAGE` in the config, and use this in LVISEval - Added `COCOevalMaxDets` for evaluating AP with the custom limit on number of detections per image (since default `COCOeval` uses 100 as limit on detections per image for evaluating AP) ## Inference Runs using this Diff - Performed inference using `K = {300, 1000, 10000, 100000}` - Launched fblearner flows for object detector baseline models with N1055536 (LVIS) and N1055756 (COCO) - Recorded [results of running inference](https://docs.google.com/spreadsheets/d/1rgdjN2KvxcYfKCkGUC4tMw0XQJ5oZL0dwjOIh84YRg8/edit?usp=sharing) Reviewed By: ppwwyyxx Differential Revision: D30077359 fbshipit-source-id: 372eb5e0d7c228fb77fe23bf80d53597ec66287b
-
Zhicheng Yan authored
Summary: For training DF-DETR with swin-transformer backbone which uses large size_divisibility 224 (=32 * 7) and potentially has more zero-padding, we find the regressed box can contain NaN values and fail the assertion here (https://fburl.com/code/p27ztcce). This issue might be caused by two potential reasons. - Fix 1. In DF-DETR encoder, the reference points prepared by `get_reference_points()` can contain normalized x,y coordinates larger than 1 due to the rounding issues during mask interpolation across feature scales (specific examples can be given upon request LoL). Thus, we clamp max of x,y coordinates to 1.0. - Fix 2. The MLP used in bbox_embed heads contains 3 FC layers, which might be too many. We introduce an argument `BBOX_EMBED_NUM_LAYERS` to allow users to configure the number of FC layers. This change is back-compatible. Reviewed By: zhanghang1989 Differential Revision: D30661167 fbshipit-source-id: c7e94983bf1ec07426fdf1b9d363e5163637f21a
-
- 31 Aug, 2021 2 commits
-
-
Yanghan Wang authored
Differential Revision: D30615605 fbshipit-source-id: d4d4550b6d1da4c75945ba674fbdd49a842ec6a9
-
Yanghan Wang authored
Summary: Enable the inference for boltnn (via running torchscript). - merge rcnn's boltnn test with other export types. - misc fixes. Differential Revision: D30610386 fbshipit-source-id: 7b78136f8ca640b5fc179cb47e3218e709418d71
-
- 30 Aug, 2021 2 commits
-
-
Jake Popham authored
Summary: Refactors the `MODEL.REGRESSOR.PREPROCESSORS` usage to allow for multiple preprocessors, and adds a new `ADD_COORD_CHANNELS` preprocessor. Note: `MODEL.FBNET_V2.STEM_IN_CHANNELS` should be modified in your config to reflect the preprocessors that are enabled. Specifically, `ADD_COORD_CHANNELS` increases the input channels by 2, while `SPLIT_AND_CONCAT` decreases by a factor of the chunk size (typically 2). See the included `quick_pupil_3d_*` configs as an example. Differential Revision: D30459924 fbshipit-source-id: dd8e3293a416a1a556e091cecc058a1be5288cc0
-
Xiaoliang Dai authored
Summary: Support customized subclass selection. Only the selected gestures are used for model training. Reviewed By: sanjeevk42 Differential Revision: D30205443 fbshipit-source-id: 36337893aa5d06bb8be5d5587da11398b246b02e
-
- 27 Aug, 2021 1 commit
-
-
Jake Popham authored
Summary: d2go/modeling/misc.py is open source, and references an internal code path in its docstring. This diff removes that reference. Reviewed By: wat3rBro Differential Revision: D30578876 fbshipit-source-id: b255af215e6c096f62f17f65c5f72a0ab95458a9
-
- 25 Aug, 2021 2 commits
-
-
Kai Zhang authored
Summary: All metrics should have been reduced on rank 0 by dataset evaluator. Reviewed By: wat3rBro Differential Revision: D30389938 fbshipit-source-id: f8dfb6f1f17635c2fb98391780fdefe90c630054
-
Zhicheng Yan authored
Summary: Pull Request resolved: https://github.com/facebookresearch/d2go/pull/106 # 2-stage DF-DETR DF-DETR supports 2-stage detection. In the 1st stage, we detect class-agnostic boxes using the feature pyramid (a.k.a. `memory` in the code) computed by the encoder. Current implementation has a few flaws - In `setcriterion.py`, when computing loss for encoder 1st stage predictions, `num_boxes` should be reduced across gpus and also clamped to be positive integer to avoid divide-by-zero bug. Current implementation will lead to divide-by-zero NaN issue when `num_boxes` is zero (e.g. no box annotation in the cropped input image). - In `gen_encoder_output_proposals()`, it manually fill in `float("inf")` at invalid spatial positions outside of actual image size. However, it is not guaranteed that those positions won't be selected as top-scored positions. `float("inf")` can easily cause affected parameters to be updated to NaN value. - `class_embed` for encoder should has 1 channel rather than num_class channels because we only need to predict the probability of being a foreground box. This diff fixes the issues above. # Gradient blocking in decoder Currently, gradient of reference point is blocked at each decoding layer to improve numerical stability during training. In this diff, add an option `MODEL.DETR.DECODER_BLOCK_GRAD`. When False, we do NOT block the gradient. Empirically, we find this leads to better box AP. Reviewed By: zhanghang1989 Differential Revision: D30325396 fbshipit-source-id: 7d7add1e05888adda6e46cc6886117170daa22d4
-
- 24 Aug, 2021 1 commit
-
-
Hang Zhang authored
Summary: Update weights path in [previous commit](https://github.com/facebookresearch/d2go/commit/477ab964e2165cb586b5c00425f6e463d7edeadd) fixes https://github.com/facebookresearch/d2go/issues/108 Pull Request resolved: https://github.com/facebookresearch/d2go/pull/109 Reviewed By: wat3rBro Differential Revision: D30505672 Pulled By: zhanghang1989 fbshipit-source-id: dc946348549a171a6ce058411be2bfd9fa2dad2c
-
- 20 Aug, 2021 1 commit
-
-
Yanghan Wang authored
Summary: `export_predictor` is now not customizable, all customization will be done via `prepare_for_export` and `ModelExportMethod` Reviewed By: zhanghang1989 Differential Revision: D28083607 fbshipit-source-id: e584fff185912ca3e985194b741860276f0943df
-
- 18 Aug, 2021 2 commits
-
-
Siddharth Shah authored
Summary: A torch version which is batched allows us to avoid CPU <--> GPU copy which gets us ~200ms per iteration saving. This new version of generating boundary weight mask produces identical masks. Reviewed By: wat3rBro Differential Revision: D30176412 fbshipit-source-id: 877f4c6337e7870d3bafd8eb9157ac166ddd588a
-
Valentin Andrei authored
Summary: Added multi-tensor optimizer implementation for SGD, from `torch.optim._multi_tensor`. It can potentially provide ~5% QPS improvement by using `foreach` API to speed up the optimizer step. Using it is optional, from the configuration file, by specifying `SGD_MT` in the `SOLVER.OPTIMIZER` setting. Reviewed By: zhanghang1989 Differential Revision: D30377761 fbshipit-source-id: 06107f1b91e9807c1db5d1b0ca6be09fcbb13e67
-
- 17 Aug, 2021 1 commit
-
-
Siddharth Shah authored
Summary: The uint8 cast means that the floating point non_bd_weight is never assigned Reviewed By: wat3rBro Differential Revision: D30176377 fbshipit-source-id: 013602bb4313393f220ee0f1510bf1ff83bd56fc
-
- 16 Aug, 2021 2 commits
-
-
Xiaoliang Dai authored
Summary: Add a mask and keypoint head to FBNetV3_G to support more use cases Reviewed By: zhanghang1989 Differential Revision: D30205169 fbshipit-source-id: 2fb88df3770fa749331021756ef5a5b6c9493bf5
-
Hang Zhang authored
Summary: Add FBNAS toolkit for HPO in D2 (https://github.com/facebookresearch/d2go/commit/adf223bdac5b534514a8ba80f6bd61fc9dd8b464)Go Reviewed By: newstzpz Differential Revision: D28672821 fbshipit-source-id: 6a378af2bb43ef6cb556d4158fd1b0d3e363e956
-
- 13 Aug, 2021 1 commit
-
-
Valentin Andrei authored
Summary: `torch.optim._multi_tensor` provides faster Optimizer implementations as it uses foreach APIs. We can enable it by modifying from `OPTIMIZER: "ADAMW"` to `OPTIMIZER: "ADAMW_MT"` in the config file. In order to profit from the speedup, we need to reduce the number of parameter groups as suggested in this post: https://fb.workplace.com/groups/1405155842844877/permalink/4971600462867046/ The current implementation uses one parameter group per parameter which is not optimal. The proposed change groups parameters by learning rate and weight decay combinations. Reviewed By: zhanghang1989 Differential Revision: D30272112 fbshipit-source-id: d8d24298a59b52c2fc2930f7d614a0c6380a432f
-
- 11 Aug, 2021 3 commits
-
-
Kai Zhang authored
Summary: Pull Request resolved: https://github.com/facebookresearch/detectron2/pull/3350 `get_local_rank` relies on a global variable set by Detectron2's `launch` utils. Since other frameworks might use Detectron2's distribute utils but don't launch with Detectron2's `launch` utils. Use `torch.cuda.current_device` to get the current device instead. Reviewed By: HarounH, ppwwyyxx Differential Revision: D30233746 fbshipit-source-id: 0b140ed5c1e7cd87ccf05235127f338ffc40a53d
-
Tao Xu authored
Summary: Before this fix, the EMA GAN model will have inf min_val/max_val when converting QAT models to int8 torchscript model (as shown in f290518237). https://pxl.cl/1MNx0 Reviewed By: yc-fb Differential Revision: D23387923 fbshipit-source-id: 5c2119e2c5170e30c6059e7374c22e367fcd2b26
-
Valentin Andrei authored
Reviewed By: stephenyan1231 Differential Revision: D30225977 fbshipit-source-id: 479b96acc7f90a8ee2373ab44112e21086e9d1d2
-
- 06 Aug, 2021 2 commits
-
-
Francisc Bungiu authored
Summary: Implementing `prepare_for_export` using the boltnn conversion from https://fburl.com/diffusion/ql1i3358. Implementing `prepare_for_quant` using the quantization from https://fburl.com/diffusion/8nre9o03. Differential Revision: D29817424 fbshipit-source-id: 800571ecf7f07d01c0a3a12100525354b48fe568
-
Hang Zhang authored
Summary: Add MaskFormer to d2go Reviewed By: bichenwu09 Differential Revision: D30006691 fbshipit-source-id: 15c85f4ab8b3d515805d639ad8cf47532af81f5e
-
- 05 Aug, 2021 2 commits
-
-
Abduallah Mohamed authored
Summary: The `do_test` method might be used to perform testing outside the training process. One might think it will load the weights of the models before testing similar to `do_train` method. This diff adds a comment that clarifies this confusion. Reviewed By: ppwwyyxx Differential Revision: D29082338 fbshipit-source-id: 6ec7d7f7f243503414fa904f4eb8856e62e9ed6d
-
Yuxin Wu authored
Summary: Pull Request resolved: https://github.com/facebookresearch/detectron2/pull/3322 avoid warnings like the following: ``` [W ProcessGroupNCCL.cpp:1569] Rank 0 using best-guess GPU 0 to perform barrier as devices used by this process are currently unknown. This can potentially cause a hang if this rank to GPU mapping is incorrect. Specify device_ids in barrier() to force use of a particular device. ``` maybe can fix the hang in https://github.com/facebookresearch/detectron2/issues/3319 Reviewed By: vaibhava0 Differential Revision: D30077957 fbshipit-source-id: b8827e66c5eecc06b650acde2e7ff44106327f69
-
- 04 Aug, 2021 1 commit
-
-
Fu-Chen Chen authored
Summary: Add default config for RandomSubsetTrainingSampler in D2 (https://github.com/facebookresearch/d2go/commit/3ee8885047e7ffb9eadcc6a1ecf8253c7ce9f79e)go. User can use use the RandomSubsetTrainingSampler with the following yaml configs ``` DATALOADER: SAMPLER_TRAIN: RandomSubsetTrainingSampler RANDOM_SUBSET_RATIO: [Desired_ratio] # for RandomSubsetTrainingSampler ``` Reviewed By: XiaoliangDai Differential Revision: D29892366 fbshipit-source-id: cabb67fb46e51a93a8342a42f77a8a4d23a933e9
-
- 03 Aug, 2021 3 commits
-
-
Hang Zhang authored
Summary: Pull Request resolved: https://github.com/facebookresearch/d2go/pull/105 exploring deformable attention in transformer Reviewed By: bichenwu09 Differential Revision: D29093714 fbshipit-source-id: dd691754d9e439661e2eddecb3a1e7cefc8fe568
-
Yuxin Wu authored
Reviewed By: newstzpz Differential Revision: D29897245 fbshipit-source-id: 5f96fc17361e7dcc65b2b15c995ec6104496c5c7
-
Hang Zhang authored
Summary: Pull Request resolved: https://github.com/facebookresearch/d2go/pull/102 - fix model_zoo model urls (missed in D27992340 (https://github.com/facebookresearch/d2go/commit/477ab964e2165cb586b5c00425f6e463d7edeadd)) - update mask rcnn fbnet V3G config - update v3g retrained weights Reviewed By: ppwwyyxx, wat3rBro Differential Revision: D29627615 fbshipit-source-id: 0694772e47b9c58965e47492177a5d6de53364cb
-
- 01 Aug, 2021 1 commit
-
-
Zhicheng Yan authored
Summary: Deformable DETR training can be unstable due to iterative box refinement in the transformer decoder. To stabilize the training, introduce two changes - Remove the unnecessary use of inverse sigmoid. It is possible to completely avoid using inverse sigmoid when box refinement is turned on. - In `DeformableTransformer` class, detach `init_reference_out` before passing it into decoder to update memory and computer per-decoder-layer reference points/ Reviewed By: zhanghang1989 Differential Revision: D29903599 fbshipit-source-id: a374ba161be0d7bcdfb42553044c4c6700e92623
-
- 29 Jul, 2021 1 commit
-
-
Hang Zhang authored
Summary: Add new backbone Experimental results are https://fburl.com/7fyecmrc Reviewed By: bichenwu09 Differential Revision: D26877909 fbshipit-source-id: ba3f97a1e4d84bec22d6a345f1fca06c741010cc
-
- 21 Jul, 2021 1 commit
-
-
Xi Yin authored
Summary: In case the height/width is None, the original version will cause a crash. So adding additional check to bypass this issue. Reviewed By: ppwwyyxx Differential Revision: D29807853 fbshipit-source-id: b2b1a7edb52b7911da79a11329d4cf93f343c279
-
- 14 Jul, 2021 1 commit
-
-
Tao Xu authored
Summary: The GAN training pipeline is broken since last week, with the TypeError: cannot pickle '_io.TextIOWrapper' object (refer to f283777469 for more details) The issue is caused by D29379832 (https://github.com/facebookresearch/d2go/commit/5509a1383c1162081e9784d79eaf0b12ebbca1fd), in which the deepcopy is failed. This diff fixes this issue by disabling the FLOPs calculation when the deepcopy is failed. Reviewed By: ppwwyyxx Differential Revision: D29552182 fbshipit-source-id: 80d078b3d8ca68535e0366a412668e098b04ed04
-
- 09 Jul, 2021 2 commits
-
-
Mircea Cimpoi authored
Summary: Adding test for previous diff. Boltnn backend is supported on device -- so this test only checks if the conversion takes place and the output file is present. Differential Revision: D29589245 fbshipit-source-id: ba66a733295304531d177086ce6459a50cfbaa07
-
Mircea Cimpoi authored
Summary: Added predictor_type `boltnn_int8` to export to BoltNN via torch delegate. - `int8` needs to be in the name, otherwise the post-train quantization won't happen; ``` cfg.QUANTIZATION.BACKEND = "qnnpack" // cfg.QUANTIZATION.CUSTOM_QSCHEME = "per_tensor_affine" ``` Seems that ` QUANTIZATION.CUSTOM_QSCHEME per_tensor_affine` is not needed - likely covered by "qnnpack". Reviewed By: wat3rBro Differential Revision: D29106043 fbshipit-source-id: 865ac5af86919fe7b4530b48433a1bd11e295bf4
-
- 08 Jul, 2021 3 commits
-
-
Zhicheng Yan authored
Summary: Pull Request resolved: https://github.com/facebookresearch/d2go/pull/101 In D2 (https://github.com/facebookresearch/d2go/commit/4f3f3401173ee842995ec69a7ce2635e2deb178a)GoDatasetMapper, when crop transform is applied to the image. "Inputs" should be updated to use the cropped images before other transforms are applied later. Reviewed By: zhanghang1989 Differential Revision: D29551488 fbshipit-source-id: 48917ffc91c8a80286d61ba3ae8391541ec2c930
-
Zhicheng Yan authored
Summary: Pull Request resolved: https://github.com/facebookresearch/d2go/pull/96 In `DETRRunner`, the method `build_optimizer` customized the following logics, which are actually redundant to parent class implementation and can be removed. - Discount LR for certain modules, such as those with name `reference_points`, `backbone`, and `sampling_offsets`. - Those can be achieved by `SOLVER.LR_MULTIPLIER_OVERWRITE` after we update `get_default_optimizer_params` in `mobile-vision/d2go/d2go/optimizer/build.py`. - Full model gradient clipping - This is also implemented in `mobile-vision/d2go/d2go/optimizer/build.py` It also has minor issues - It ignores `SOLVER.WEIGHT_DECAY_NORM` which can set a different weight decay for affine parameters in the norm modules. Reviewed By: zhanghang1989 Differential Revision: D29420642 fbshipit-source-id: deeb9348c9d282231c540dde6161acedd8e3a119
-
Sam Tsai authored
Summary: Fix missing comma for extended coco load, which would ignore bbox_mode and keypoints field. Reviewed By: zhanghang1989 Differential Revision: D29608815 fbshipit-source-id: 8c737df1dfef7f88494f7de25e06b0c37742ac30
-
- 07 Jul, 2021 1 commit
-
-
Daniel Li (AI) authored
Summary: Set find_unused_parameters according to DDP_FIND_UNUSED_PARAMETERS with DDPPlugin Reviewed By: kazhang Differential Revision: D29567013 fbshipit-source-id: f3ffac566a2ff046f55e692b3b24f9531913d4d4
-