Skip to content

Restructured config #243

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 12 commits into from
Jun 20, 2023
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 1 addition & 7 deletions scripts/run_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,7 @@ run_simple() {
for dir in $(find ./dist-tests/$1-simple -type d)
do
cd $dir
python main.py --data_path ~/data \
--train_batch_size 2 \
--eval_batch_size 2 \
--num_workers 2 \
--max_epochs 2 \
--train_epoch_length 4 \
--eval_epoch_length 4
python main.py ../../src/tests/ci-configs/$1-simple.yaml
cd $CWD
done
}
Expand Down
2 changes: 1 addition & 1 deletion src/templates/template-vision-segmentation/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ def _():

# main entrypoint
def main():
config = setup_parser().parse_args()
config = setup_config()
#::: if (it.dist === 'spawn') { :::#
#::: if (it.nproc_per_node && it.nnodes > 1 && it.master_addr && it.master_port) { :::#
kwargs = {
Expand Down
32 changes: 23 additions & 9 deletions src/templates/template-vision-segmentation/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,33 @@
from ignite.utils import setup_logger


def setup_parser():
with open("config.yaml", "r") as f:
def get_default_parser():
parser = ArgumentParser()
parser.add_argument("config", type=Path, help="Config file path")
parser.add_argument(
"--backend",
default=None,
choices=["nccl", "gloo"],
type=str,
help="DDP backend",
)
return parser


def setup_config(parser=None):
if parser is None:
parser = get_default_parser()

args = parser.parse_args()
config_path = args.config

with open(config_path, "r") as f:
config = yaml.safe_load(f.read())

parser = ArgumentParser()
parser.add_argument("--backend", default=None, type=str)
for k, v in config.items():
if isinstance(v, bool):
parser.add_argument(f"--{k}", action="store_true")
else:
parser.add_argument(f"--{k}", default=v, type=type(v))
setattr(args, k, v)

return parser
return args


def log_metrics(engine: Engine, tag: str) -> None:
Expand Down
15 changes: 15 additions & 0 deletions src/tests/ci-configs/vision-segmentation-simple.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
seed: 666
data_path: ~/data
train_batch_size: 2
eval_batch_size: 2
num_workers: 2
max_epochs: 2
train_epoch_length: 2
eval_epoch_length: 2
lr: 0.007
use_amp: false
debug: false
accumulation_steps: 4
num_classes: 21
output_dir: ./logs
log_every_iters: 2