Skip to content
This repository has been archived by the owner on Mar 19, 2024. It is now read-only.

Commit

Permalink
Organize hooks better in a dedicated HOOKS key in the config (#174)
Browse files Browse the repository at this point in the history
Summary:
Pull Request resolved: #174

vissl has many hooks that can be configured. but they were scattered all over the defaults.yaml unclear what parameter is a hook.

reorganizing them under `HOOKS` for better readibility

Reviewed By: min-xu-ai

Differential Revision: D26284129

fbshipit-source-id: c71a69bb838cdb76d3e0594efddf584a5b3f8b68
  • Loading branch information
prigoyal authored and facebook-github-bot committed Feb 9, 2021
1 parent 1b4d93f commit cf65346
Show file tree
Hide file tree
Showing 60 changed files with 288 additions and 172 deletions.
6 changes: 3 additions & 3 deletions GETTING_STARTED.md
Expand Up @@ -41,7 +41,7 @@ imagenet_full_size

### If VISSL is built from source
We provide a config to train model using the pretext SimCLR task on the ResNet50 model.
Change the `DATA.TRAIN.DATA_PATHS` path to the ImageNet train dataset folder path.
Change the `DATA.TRAIN.DATA_PATHS` path to the ImageNet train dataset folder path.

```bash
cd $HOME/vissl
Expand All @@ -52,7 +52,7 @@ python3 tools/run_distributed_engines.py \
config.DATA.TRAIN.DATA_PATHS=["/path/to/my/imagenet/folder/train"] \
config=test/integration_test/quick_simclr_imagefolder \
config.CHECKPOINT.DIR="./checkpoints" \
config.TENSORBOARD_SETUP.USE_TENSORBOARD=true
config.HOOKS.TENSORBOARD_SETUP.USE_TENSORBOARD=true
```

### If using pre-built conda/pip VISSL packages
Expand Down Expand Up @@ -100,7 +100,7 @@ python3 run_distributed_engines.py \
config.DATA.TRAIN.DATA_PATHS=["/path/to/my/imagenet/folder/train"] \
config=quick_1gpu_resnet50_simclr \
config.CHECKPOINT.DIR="./checkpoints" \
config.TENSORBOARD_SETUP.USE_TENSORBOARD=true
config.HOOKS.TENSORBOARD_SETUP.USE_TENSORBOARD=true
```

Explore **all the parameters and settings VISSL supports** in [VISSL defaults.yaml file](https://github.com/facebookresearch/vissl/blob/master/vissl/config/defaults.yaml)
Expand Up @@ -7,7 +7,9 @@ config:
TEST_MODEL: True
SEED_VALUE: 1
MULTI_PROCESSING_METHOD: forkserver
MONITOR_PERF_STATS: True
HOOKS:
PERF_STATS:
MONITOR_PERF_STATS: True
DATA:
NUM_DATALOADER_WORKERS: 5
TRAIN:
Expand Down
Expand Up @@ -7,7 +7,9 @@ config:
TEST_MODEL: True
SEED_VALUE: 1
MULTI_PROCESSING_METHOD: forkserver
MONITOR_PERF_STATS: True
HOOKS:
PERF_STATS:
MONITOR_PERF_STATS: True
DATA:
NUM_DATALOADER_WORKERS: 5
TRAIN:
Expand Down
Expand Up @@ -7,7 +7,9 @@ config:
TEST_MODEL: True
SEED_VALUE: 1
MULTI_PROCESSING_METHOD: forkserver
MONITOR_PERF_STATS: True
HOOKS:
PERF_STATS:
MONITOR_PERF_STATS: True
DATA:
NUM_DATALOADER_WORKERS: 5
TRAIN:
Expand Down
Expand Up @@ -7,7 +7,9 @@ config:
TEST_MODEL: True
SEED_VALUE: 1
MULTI_PROCESSING_METHOD: forkserver
MONITOR_PERF_STATS: True
HOOKS:
PERF_STATS:
MONITOR_PERF_STATS: True
DATA:
NUM_DATALOADER_WORKERS: 28
TRAIN:
Expand Down
Expand Up @@ -7,7 +7,9 @@ config:
TEST_MODEL: True
SEED_VALUE: 1
MULTI_PROCESSING_METHOD: forkserver
MONITOR_PERF_STATS: True
HOOKS:
PERF_STATS:
MONITOR_PERF_STATS: True
DATA:
NUM_DATALOADER_WORKERS: 5
TRAIN:
Expand Down
Expand Up @@ -7,7 +7,9 @@ config:
TEST_MODEL: True
SEED_VALUE: 0
MULTI_PROCESSING_METHOD: forkserver
MONITOR_PERF_STATS: True
HOOKS:
PERF_STATS:
MONITOR_PERF_STATS: True
DATA:
NUM_DATALOADER_WORKERS: 8
TRAIN:
Expand Down
Expand Up @@ -7,7 +7,9 @@ config:
TEST_MODEL: True
SEED_VALUE: 1
MULTI_PROCESSING_METHOD: forkserver
MONITOR_PERF_STATS: True
HOOKS:
PERF_STATS:
MONITOR_PERF_STATS: True
DATA:
NUM_DATALOADER_WORKERS: 2
TRAIN:
Expand Down
Expand Up @@ -7,7 +7,9 @@ config:
TEST_MODEL: True
SEED_VALUE: 1
MULTI_PROCESSING_METHOD: forkserver
MONITOR_PERF_STATS: True
HOOKS:
PERF_STATS:
MONITOR_PERF_STATS: True
DATA:
NUM_DATALOADER_WORKERS: 5
TRAIN:
Expand Down
Expand Up @@ -7,7 +7,9 @@ config:
TEST_MODEL: True
SEED_VALUE: 1
MULTI_PROCESSING_METHOD: forkserver
MONITOR_PERF_STATS: False
HOOKS:
PERF_STATS:
MONITOR_PERF_STATS: False
DATA:
NUM_DATALOADER_WORKERS: 5
TRAIN:
Expand Down
Expand Up @@ -7,7 +7,9 @@ config:
TEST_MODEL: True
SEED_VALUE: 1
MULTI_PROCESSING_METHOD: forkserver
MONITOR_PERF_STATS: False
HOOKS:
PERF_STATS:
MONITOR_PERF_STATS: False
DATA:
NUM_DATALOADER_WORKERS: 5
TRAIN:
Expand Down
Expand Up @@ -7,7 +7,9 @@ config:
TEST_MODEL: True
SEED_VALUE: 1
MULTI_PROCESSING_METHOD: forkserver
MONITOR_PERF_STATS: True
HOOKS:
PERF_STATS:
MONITOR_PERF_STATS: True
DATA:
NUM_DATALOADER_WORKERS: 5
TRAIN:
Expand Down
Expand Up @@ -6,8 +6,10 @@ config:
TEST_MODEL: False
SEED_VALUE: 0
MULTI_PROCESSING_METHOD: forkserver
MONITOR_PERF_STATS: True
ROLLING_BTIME_FREQ: 313
HOOKS:
PERF_STATS:
MONITOR_PERF_STATS: True
ROLLING_BTIME_FREQ: 313
DATA:
NUM_DATALOADER_WORKERS: 5
TRAIN:
Expand Down
Expand Up @@ -6,7 +6,9 @@ config:
TEST_MODEL: False
SEED_VALUE: 1
MULTI_PROCESSING_METHOD: forkserver
MONITOR_PERF_STATS: False
HOOKS:
PERF_STATS:
MONITOR_PERF_STATS: False
DATA:
NUM_DATALOADER_WORKERS: 5
TRAIN:
Expand Down
Expand Up @@ -6,8 +6,10 @@ config:
TEST_MODEL: False
SEED_VALUE: 0
MULTI_PROCESSING_METHOD: forkserver
MONITOR_PERF_STATS: True
ROLLING_BTIME_FREQ: 313
HOOKS:
PERF_STATS:
MONITOR_PERF_STATS: True
ROLLING_BTIME_FREQ: 313
DATA:
NUM_DATALOADER_WORKERS: 8
TRAIN:
Expand Down
4 changes: 3 additions & 1 deletion configs/config/pretrain/jigsaw/jigsaw_8gpu_resnet.yaml
Expand Up @@ -6,7 +6,9 @@ config:
TEST_MODEL: False
SEED_VALUE: 0
MULTI_PROCESSING_METHOD: forkserver
MONITOR_PERF_STATS: False
HOOKS:
PERF_STATS:
MONITOR_PERF_STATS: False
DATA:
NUM_DATALOADER_WORKERS: 5
TRAIN:
Expand Down
16 changes: 9 additions & 7 deletions configs/config/pretrain/moco/moco_1node_resnet.yaml
Expand Up @@ -6,13 +6,15 @@ config:
TEST_MODEL: False
SEED_VALUE: 0
MULTI_PROCESSING_METHOD: forkserver
MONITOR_PERF_STATS: True
ROLLING_BTIME_FREQ: 313
TENSORBOARD_SETUP:
USE_TENSORBOARD: True
EXPERIMENT_LOG_DIR: "moco_v2_reference"
LOG_PARAMS: False
FLUSH_EVERY_N_MIN: 20
HOOKS:
PERF_STATS:
MONITOR_PERF_STATS: True
ROLLING_BTIME_FREQ: 313
TENSORBOARD_SETUP:
USE_TENSORBOARD: True
EXPERIMENT_LOG_DIR: "moco_v2_reference"
LOG_PARAMS: False
FLUSH_EVERY_N_MIN: 20
DATA:
NUM_DATALOADER_WORKERS: 5
TRAIN:
Expand Down
4 changes: 3 additions & 1 deletion configs/config/pretrain/npid/npid++_4nodes_resnet.yaml
Expand Up @@ -6,7 +6,9 @@ config:
TEST_MODEL: False
SEED_VALUE: 0
MULTI_PROCESSING_METHOD: forkserver
MONITOR_PERF_STATS: False
HOOKS:
PERF_STATS:
MONITOR_PERF_STATS: False
DATA:
NUM_DATALOADER_WORKERS: 8
TRAIN:
Expand Down
4 changes: 3 additions & 1 deletion configs/config/pretrain/npid/npid_8gpu_resnet.yaml
Expand Up @@ -6,7 +6,9 @@ config:
TEST_MODEL: False
SEED_VALUE: 0
MULTI_PROCESSING_METHOD: forkserver
MONITOR_PERF_STATS: False
HOOKS:
PERF_STATS:
MONITOR_PERF_STATS: False
DATA:
NUM_DATALOADER_WORKERS: 5
TRAIN:
Expand Down
4 changes: 3 additions & 1 deletion configs/config/pretrain/rotnet/rotnet_8gpu_resnet.yaml
Expand Up @@ -7,7 +7,9 @@ config:
TEST_MODEL: True
SEED_VALUE: 1
MULTI_PROCESSING_METHOD: forkserver
MONITOR_PERF_STATS: False
HOOKS:
PERF_STATS:
MONITOR_PERF_STATS: False
DATA:
NUM_DATALOADER_WORKERS: 5
TRAIN:
Expand Down
7 changes: 4 additions & 3 deletions configs/config/pretrain/simclr/models/efficientnet_B0.yaml
@@ -1,5 +1,9 @@
# @package _global_
config:
HOOKS:
MODEL_COMPLEXITY:
COMPUTE_COMPLEXITY: True
INPUT_SHAPE: [3, 224, 224]
DATA:
TRAIN:
TRANSFORMS:
Expand All @@ -20,9 +24,6 @@ config:
mean: [0.485, 0.456, 0.406]
std: [0.229, 0.224, 0.225]
MODEL:
MODEL_COMPLEXITY:
COMPUTE_COMPLEXITY: True
INPUT_SHAPE: [3, 224, 224]
TRUNK:
NAME: efficientnet
TRUNK_PARAMS:
Expand Down
3 changes: 2 additions & 1 deletion configs/config/pretrain/simclr/models/efficientnet_B1.yaml
Expand Up @@ -19,10 +19,11 @@ config:
- name: Normalize
mean: [0.485, 0.456, 0.406]
std: [0.229, 0.224, 0.225]
MODEL:
HOOKS:
MODEL_COMPLEXITY:
COMPUTE_COMPLEXITY: True
INPUT_SHAPE: [3, 240, 240]
MODEL:
TRUNK:
NAME: efficientnet
TRUNK_PARAMS:
Expand Down
3 changes: 2 additions & 1 deletion configs/config/pretrain/simclr/models/efficientnet_B2.yaml
Expand Up @@ -19,10 +19,11 @@ config:
- name: Normalize
mean: [0.485, 0.456, 0.406]
std: [0.229, 0.224, 0.225]
MODEL:
HOOKS:
MODEL_COMPLEXITY:
COMPUTE_COMPLEXITY: True
INPUT_SHAPE: [3, 260, 260]
MODEL:
TRUNK:
NAME: efficientnet
TRUNK_PARAMS:
Expand Down
6 changes: 4 additions & 2 deletions configs/config/pretrain/simclr/simclr_8node_resnet.yaml
Expand Up @@ -6,8 +6,10 @@ config:
TEST_MODEL: False
SEED_VALUE: 0
MULTI_PROCESSING_METHOD: forkserver
MONITOR_PERF_STATS: True
ROLLING_BTIME_FREQ: 313
HOOKS:
PERF_STATS:
MONITOR_PERF_STATS: True
ROLLING_BTIME_FREQ: 313
DATA:
NUM_DATALOADER_WORKERS: 5
TRAIN:
Expand Down
3 changes: 2 additions & 1 deletion configs/config/pretrain/swav/models/efficientnet_B0.yaml
Expand Up @@ -20,10 +20,11 @@ config:
- name: Normalize
mean: [0.485, 0.456, 0.406]
std: [0.229, 0.224, 0.225]
MODEL:
HOOKS:
MODEL_COMPLEXITY:
COMPUTE_COMPLEXITY: True
INPUT_SHAPE: [3, 224, 224]
MODEL:
TRUNK:
NAME: efficientnet
TRUNK_PARAMS:
Expand Down
3 changes: 2 additions & 1 deletion configs/config/pretrain/swav/models/efficientnet_B1.yaml
Expand Up @@ -20,10 +20,11 @@ config:
- name: Normalize
mean: [0.485, 0.456, 0.406]
std: [0.229, 0.224, 0.225]
MODEL:
HOOKS:
MODEL_COMPLEXITY:
COMPUTE_COMPLEXITY: True
INPUT_SHAPE: [3, 240, 240]
MODEL:
TRUNK:
NAME: efficientnet
TRUNK_PARAMS:
Expand Down
3 changes: 2 additions & 1 deletion configs/config/pretrain/swav/models/efficientnet_B2.yaml
Expand Up @@ -20,10 +20,11 @@ config:
- name: Normalize
mean: [0.485, 0.456, 0.406]
std: [0.229, 0.224, 0.225]
MODEL:
HOOKS:
MODEL_COMPLEXITY:
COMPUTE_COMPLEXITY: True
INPUT_SHAPE: [3, 260, 260]
MODEL:
TRUNK:
NAME: efficientnet
TRUNK_PARAMS:
Expand Down
6 changes: 4 additions & 2 deletions configs/config/pretrain/swav/swav_8node_resnet.yaml
Expand Up @@ -6,8 +6,10 @@ config:
TEST_MODEL: False
SEED_VALUE: 0
MULTI_PROCESSING_METHOD: forkserver
MONITOR_PERF_STATS: True
ROLLING_BTIME_FREQ: 313
HOOKS:
PERF_STATS:
MONITOR_PERF_STATS: True
ROLLING_BTIME_FREQ: 313
DATA:
NUM_DATALOADER_WORKERS: 8
TRAIN:
Expand Down
10 changes: 6 additions & 4 deletions configs/config/test/cpu_test/test_cpu_efficientnet_simclr.yaml
Expand Up @@ -6,7 +6,12 @@ config:
TEST_MODEL: False
SEED_VALUE: 0
MULTI_PROCESSING_METHOD: forkserver
MONITOR_PERF_STATS: True
HOOKS:
PERF_STATS:
MONITOR_PERF_STATS: True
MODEL_COMPLEXITY:
COMPUTE_COMPLEXITY: False
INPUT_SHAPE: [3, 224, 224]
DATA:
NUM_DATALOADER_WORKERS: 0
TRAIN:
Expand Down Expand Up @@ -40,9 +45,6 @@ config:
METERS:
name: ""
MODEL:
MODEL_COMPLEXITY:
COMPUTE_COMPLEXITY: False
INPUT_SHAPE: [3, 224, 224]
TRUNK:
NAME: efficientnet
TRUNK_PARAMS:
Expand Down

0 comments on commit cf65346

Please sign in to comment.