-
Notifications
You must be signed in to change notification settings - Fork 55
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fbshipit-source-id: 1f2160ca15bd4e3ccced40e2bfac4025f15f2f11
- Loading branch information
0 parents
commit 989f52d
Showing
343 changed files
with
38,107 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
AccessModifierOffset: -1 | ||
AlignAfterOpenBracket: AlwaysBreak | ||
AlignConsecutiveAssignments: false | ||
AlignConsecutiveDeclarations: false | ||
AlignEscapedNewlinesLeft: true | ||
AlignOperands: false | ||
AlignTrailingComments: false | ||
AllowAllParametersOfDeclarationOnNextLine: false | ||
AllowShortBlocksOnASingleLine: false | ||
AllowShortCaseLabelsOnASingleLine: false | ||
AllowShortFunctionsOnASingleLine: Empty | ||
AllowShortIfStatementsOnASingleLine: false | ||
AllowShortLoopsOnASingleLine: false | ||
AlwaysBreakAfterReturnType: None | ||
AlwaysBreakBeforeMultilineStrings: true | ||
AlwaysBreakTemplateDeclarations: true | ||
BinPackArguments: false | ||
BinPackParameters: false | ||
BraceWrapping: | ||
AfterClass: false | ||
AfterControlStatement: false | ||
AfterEnum: false | ||
AfterFunction: false | ||
AfterNamespace: false | ||
AfterObjCDeclaration: false | ||
AfterStruct: false | ||
AfterUnion: false | ||
BeforeCatch: false | ||
BeforeElse: false | ||
IndentBraces: false | ||
BreakBeforeBinaryOperators: None | ||
BreakBeforeBraces: Attach | ||
BreakBeforeTernaryOperators: true | ||
BreakConstructorInitializersBeforeComma: false | ||
BreakAfterJavaFieldAnnotations: false | ||
BreakStringLiterals: false | ||
ColumnLimit: 80 | ||
CommentPragmas: '^ IWYU pragma:' | ||
ConstructorInitializerAllOnOneLineOrOnePerLine: true | ||
ConstructorInitializerIndentWidth: 4 | ||
ContinuationIndentWidth: 4 | ||
Cpp11BracedListStyle: true | ||
DerivePointerAlignment: false | ||
DisableFormat: false | ||
ForEachMacros: [ FOR_EACH, FOR_EACH_ENUMERATE, FOR_EACH_KV, FOR_EACH_R, FOR_EACH_RANGE, ] | ||
IncludeCategories: | ||
- Regex: '^<.*\.h(pp)?>' | ||
Priority: 1 | ||
- Regex: '^<.*' | ||
Priority: 2 | ||
- Regex: '.*' | ||
Priority: 3 | ||
IndentCaseLabels: true | ||
IndentWidth: 2 | ||
IndentWrappedFunctionNames: false | ||
KeepEmptyLinesAtTheStartOfBlocks: false | ||
MacroBlockBegin: '' | ||
MacroBlockEnd: '' | ||
MaxEmptyLinesToKeep: 1 | ||
NamespaceIndentation: None | ||
ObjCBlockIndentWidth: 2 | ||
ObjCSpaceAfterProperty: false | ||
ObjCSpaceBeforeProtocolList: false | ||
PenaltyBreakBeforeFirstCallParameter: 1 | ||
PenaltyBreakComment: 300 | ||
PenaltyBreakFirstLessLess: 120 | ||
PenaltyBreakString: 1000 | ||
PenaltyExcessCharacter: 1000000 | ||
PenaltyReturnTypeOnItsOwnLine: 200 | ||
PointerAlignment: Left | ||
ReflowComments: true | ||
SortIncludes: true | ||
SpaceAfterCStyleCast: false | ||
SpaceBeforeAssignmentOperators: true | ||
SpaceBeforeParens: ControlStatements | ||
SpaceInEmptyParentheses: false | ||
SpacesBeforeTrailingComments: 1 | ||
SpacesInAngles: false | ||
SpacesInContainerLiterals: true | ||
SpacesInCStyleCastParentheses: false | ||
SpacesInParentheses: false | ||
SpacesInSquareBrackets: false | ||
Standard: Cpp11 | ||
TabWidth: 8 | ||
UseTab: Never |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# This is an example .flake8 config, used when developing *Black* itself. | ||
# Keep in sync with setup.cfg which is used for source packages. | ||
|
||
[flake8] | ||
ignore = W503, E203, E221, C901 | ||
max-line-length = 100 | ||
max-complexity = 18 | ||
select = B,C,E,F,W,T4,B9 | ||
exclude = build,__init__.py |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
--- | ||
name: "\U0001F680Feature Request" | ||
about: Submit a proposal/request for a new detectron2 feature | ||
|
||
--- | ||
|
||
## 🚀 Feature | ||
<!-- A clear and concise description of the feature proposal --> | ||
|
||
## Motivation | ||
|
||
<!-- Please outline the motivation for the proposal. Is your feature request related to a problem? e.g., I'm always frustrated when [...]. If this is related to another GitHub issue, please link here too --> | ||
|
||
## Pitch | ||
|
||
<!-- A clear and concise description of what you want to happen. --> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
--- | ||
name: "❓Questions/Help/Support" | ||
about: Do you need support? | ||
|
||
--- | ||
|
||
## ❓ Questions and Help | ||
|
||
General questions about detectron2. | ||
|
||
NOTE: | ||
|
||
If you met an unexpected error when using detectron2, | ||
please use the "Unexpected Problems / Bugs" issue category instead. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
--- | ||
name: "Unexpected Problems / Bugs" | ||
about: Report unexpected problems or bugs in detectron2 | ||
|
||
--- | ||
|
||
If you do not know the root cause of the problem / bug, and wish someone to help you, please | ||
include: | ||
|
||
<!-- A clear and concise description of what the bug is. --> | ||
|
||
## To Reproduce | ||
|
||
1. what changes you made / what code you wrote | ||
2. what command you run | ||
3. what you observed (full logs are preferred) | ||
|
||
## Expected behavior | ||
|
||
If there are no obvious error in "what you observed" provided above, | ||
please tell us the expected behavior. | ||
|
||
If you expect the model to work better, only in one of the two conditions we will help with it: | ||
(1) You're unable to reproduce the results documented in detectron2 model zoo. | ||
(2) It indicates a detectron2 bug. | ||
|
||
## Environment | ||
|
||
Please paste the output of `python -m detectron2.utils.collect_env`. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
Thanks for your contribution! | ||
|
||
If you're sending a large PR (e.g., >50 lines), | ||
please open an issue first about the feature / bug, and indicate how you want to contribute. | ||
|
||
Before submitting a PR, please run `dev/linter.sh` to lint the code. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# output dir | ||
output | ||
instant_test_output | ||
|
||
# compilation and distribution | ||
__pycache__ | ||
_ext | ||
*.pyc | ||
*.so | ||
detectron2.egg-info/ | ||
build/ | ||
dist/ | ||
|
||
# pytorch/python/numpy formats | ||
*.pth | ||
*.pkl | ||
*.npy | ||
|
||
# ipython/jupyter notebooks | ||
*.ipynb | ||
**/.ipynb_checkpoints/ | ||
|
||
# Editor temporaries | ||
*.swn | ||
*.swo | ||
*.swp | ||
*~ | ||
|
||
# Pycharm editor settings | ||
.idea | ||
|
||
# project dirs | ||
/datasets | ||
/models |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Code of Conduct | ||
|
||
Facebook has adopted a Code of Conduct that we expect project participants to adhere to. | ||
Please read the [full text](https://code.fb.com/codeofconduct/) | ||
so that you can understand what actions will and will not be tolerated. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# Contributing to detectron2 | ||
We want to make contributing to this project as easy and transparent as | ||
possible. | ||
|
||
## Pull Requests | ||
We actively welcome your pull requests. | ||
|
||
1. Fork the repo and create your branch from \muaster`. | ||
2. If you've added code that should be tested, add tests. | ||
3. If you've changed APIs, update the documentation. | ||
4. Ensure the test suite passes. | ||
5. Make sure your code lints. | ||
6. If you haven't already, complete the Contributor License Agreement ("CLA"). | ||
|
||
## Contributor License Agreement ("CLA") | ||
In order to accept your pull request, we need you to submit a CLA. You only need | ||
to do this once to work on any of Facebook's open source projects. | ||
|
||
Complete your CLA here: <https://code.facebook.com/cla> | ||
|
||
## Issues | ||
We use GitHub issues to track public bugs. Please ensure your description is | ||
clear and has sufficient instructions to be able to reproduce the issue. | ||
|
||
Facebook has a [bounty program](https://www.facebook.com/whitehat/) for the safe | ||
disclosure of security bugs. In those cases, please go through the process | ||
outlined on that page and do not file a public issue. | ||
|
||
## License | ||
By contributing to detectron2, you agree that your contributions will be licensed | ||
under the LICENSE file in the root directory of this source tree. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
|
||
## Getting Started with Detectron2 | ||
|
||
This document provides a brief intro of the usage of builtin command-line tools in detectron2. | ||
|
||
For a tutorial that involves actual coding with the API, | ||
see our [Colab Notebook](TODO) which covers how to run inference with an | ||
existing model, and how to train a builtin model on a custom dataset. | ||
|
||
For more advanced tutorials, refer to our [documentation](https://detectron2.readthedocs.io/tutorials/extend.html). | ||
|
||
|
||
### Inference with Pre-trained Models | ||
|
||
1. Pick a model and its config file from | ||
[model zoo](https://github.com/facebookresearch/detectron2/blob/master/MODEL_ZOO.md), | ||
for example, `mask_rcnn_R_50_FPN_3x.yaml`. | ||
2. Run the demo with | ||
``` | ||
python demo/demo.py --config-file configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml \ | ||
--input input1.jpg input2.jpg \ | ||
--opts MODEL.WEIGHTS detectron2://COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x/137849600/model_final_f10217.pkl | ||
``` | ||
It will run the inference and show visualizations in an OpenCV window. | ||
|
||
To run on webcam, replace `--input files` with `--webcam`. | ||
To run on a video, replace `--input files` with `--video-input video.mp4`. | ||
To save outputs to a directory (for images) or a file (for webcam or video), use `--output`. | ||
|
||
|
||
### Train a Standard Model | ||
|
||
We provide a script in "tools/train_net.py", that is made to train | ||
all the configs provided in detectron2. | ||
You may want to use it as a reference to write your own training script for a new research. | ||
|
||
To train a model with "train_net.py", do: | ||
``` | ||
python tools/train_net.py --num-gpus 8 \ | ||
--config-file configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_1x.yaml | ||
``` | ||
|
||
The configs are made for 8-GPU training. To train on 1 GPU, use: | ||
``` | ||
python tools/train_net.py \ | ||
--config-file configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_1x.yaml \ | ||
SOLVER.IMS_PER_BATCH 2 SOLVER.BASE_LR 0.0025 | ||
``` | ||
|
||
(Note that we applied the [linear learning rate scaling rule](https://arxiv.org/abs/1706.02677) | ||
when changing the batch size.) | ||
|
||
For more options, see `python tools/train_net.py -h`. | ||
|
||
### Use Detectron2 in Your Code | ||
|
||
See our [Colab Notebook](TODO) to how to use detectron2 APIs to: | ||
1. run inference with an existing model | ||
2. train a builtin model on a custom dataset | ||
|
||
See [detectron2/projects](https://github.com/facebookresearch/detectron2/tree/master/projects) | ||
for more ways to build your project on detectron2. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
## Installation | ||
|
||
Our [Colab Notebook](TODO) also has step-by-step instructions that install detectron2. | ||
|
||
### Requirements: | ||
- Python >= 3.6 | ||
- PyTorch 1.3 | ||
- [torchvision](https://github.com/pytorch/vision/) that matches the PyTorch installation. | ||
You can install them together at [pytorch.org](http://pytorch.org) to make sure of this. | ||
- OpenCV, needed by demo and visualization | ||
- [fvcore](https://github.com/facebookresearch/fvcore/): `pip install 'git+https://github.com/facebookresearch/fvcore'` | ||
- pycocotools: `pip install cython; pip install 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'` | ||
- GCC >= 4.9 | ||
|
||
|
||
### Build detectron2 | ||
|
||
After having the above dependencies, run: | ||
``` | ||
git clone [email protected]:facebookresearch/detectron2.git | ||
cd detectron2 | ||
python setup.py build develop | ||
# or if you are on macOS | ||
# MACOSX_DEPLOYMENT_TARGET=10.9 CC=clang CXX=clang++ python setup.py build develop | ||
# or, as an alternative to `setup.py`, do | ||
# pip install . | ||
``` | ||
|
||
### Common Installation Issues | ||
|
||
+ Undefined torch/aten symbols, or segmentation fault immediately when running the library. | ||
This may mean one of the two: | ||
|
||
* detectron2 or torchvision is not compiled with the version of PyTorch you're running. | ||
|
||
If you use a pre-built torchvision, uninstall torchvision & pytorch, and reinstall them | ||
following [pytorch.org](http://pytorch.org). | ||
If you manually build detectron2 or torchvision, remove the files you built (`build/`, `**/*.so`) | ||
and rebuild them. | ||
|
||
* detectron2 or torchvision is not compiled using gcc >= 4.9. | ||
|
||
You'll see a warning message during compilation in this case. Please remove the files you build, | ||
and rebuild them. | ||
Technically, you need the identical compiler that's used to build pytorch to guarantee | ||
compatibility. But in practice, gcc >= 4.9 should work OK. | ||
|
||
+ Undefined cuda symbols. The version of NVCC you use to build detectron2 or torchvision does | ||
not match the version of cuda you are running with. | ||
This happens sometimes when using anaconda. | ||
|
Oops, something went wrong.