Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 59 additions & 8 deletions templates/_base/_handlers.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,67 @@
trainer=trainer,
train_sampler=None,
to_save=to_save,
output_path='{{ output_path }}',
save_every_iters={{ save_every_iters }},
n_saved={{ n_saved }},
log_every_iters={{ log_every_iters }},
with_pbars={{ with_pbars }},
with_pbar_on_iters={{ with_pbar_on_iters }},
stop_on_nan={{ stop_on_nan }},
clear_cuda_cache={{ clear_cuda_cache }},
output_path=config.output_path,
save_every_iters=config.save_every_iters,
n_saved=config.n_saved,
log_every_iters=config.log_every_iters,
with_pbars=config.with_pbars,
with_pbar_on_iters=config.with_pbar_on_iters,
stop_on_nan=config.stop_on_nan,
clear_cuda_cache=config.clear_cuda_cache,
lr_scheduler=None,
with_gpu_stats=False,
output_names=None,
)
{% endif %}
{% if logger_deps == 'clearml' %}
logger_handler = common.setup_clearml_logging(
trainer=trainer,
optimizers=optimizers,
evaluators=evaluators,
log_every_iters=config.logger_log_every_iters,
)
{% elif logger_deps == 'mlflow' %}
logger_handler = common.setup_mlflow_logging(
trainer=trainer,
optimizers=optimizers,
evaluators=evaluators,
log_every_iters=config.logger_log_every_iters,
)
{% elif logger_deps == 'neptune-client' %}
logger_handler = common.setup_neptune_logging(
trainer=trainer,
optimizers=optimizers,
evaluators=evaluators,
log_every_iters=config.logger_log_every_iters,
)
{% elif logger_deps == 'polyaxon' %}
logger_handler = common.setup_plx_logging(
trainer=trainer,
optimizers=optimizers,
evaluators=evaluators,
log_every_iters=config.logger_log_every_iters,
)
{% elif logger_deps == 'tensorboard' %}
logger_handler = common.setup_tb_logging(
output_path=config.filepath,
trainer=trainer,
optimizers=optimizers,
evaluators=evaluators,
log_every_iters=config.logger_log_every_iters,
)
{% elif logger_deps == 'visdom' %}
logger_handler = common.setup_visdom_logging(
trainer=trainer,
optimizers=optimizers,
evaluators=evaluators,
log_every_iters=config.logger_log_every_iters,
)
{% elif logger_deps == 'wandb' %}
logger_handler = common.setup_wandb_logging(
trainer=trainer,
optimizers=optimizers,
evaluators=evaluators,
log_every_iters=config.logger_log_every_iters,
)
{% endif %}
34 changes: 30 additions & 4 deletions templates/gan/_sidebar.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ def dataset_options(config):
["cifar10", "lsun", "imagenet", "folder", "lfw", "fake", "mnist"],
)
config["data_path"] = st.text_input("Dataset path (data_path)", "./")

config["filepath"] = st.text_input("Logging file path (filepath)", "./logs")
st.markdown("---")


Expand Down Expand Up @@ -79,10 +77,10 @@ def ignite_handlers_options(config):
)
config["n_saved"] = st.number_input("Number of best models to store (n_saved)", min_value=1, value=2)
config["log_every_iters"] = st.number_input(
"Logging interval for iteration progress bar",
"Logging interval for iteration progress bar (log_every_iters)",
min_value=1,
value=100,
help="Setting to a lower value can cause tqdm" " to fluch quickly for fast trainings",
help="Setting to a lower value can cause `tqdm` to fluch quickly for fast trainings",
)
config["with_pbars"] = st.checkbox(
"Show two progress bars",
Expand All @@ -106,6 +104,33 @@ def ignite_handlers_options(config):
)
st.markdown("---")
config["setup_common_training_handlers"] = True
if config["with_pbars"]:
config["handler_deps"] = "tqdm"


def ignite_loggers_options(config):
st.markdown("## Ignite Loggers Options")
config["filepath"] = st.text_input(
"Logging file path (filepath)",
"./logs",
help="This option will be used by both python logging and ignite loggers if possible",
)
if st.checkbox("Use experiment tracking system ?", value=True):
config["logger_deps"] = st.selectbox(
"Select experiment eracking system",
["ClearML", "MLflow", "Neptune", "Polyaxon", "TensorBoard", "Visdom", "WandB"],
index=4,
).lower()
# for logger requirement
if config["logger_deps"] in ("neptune", "polyaxon"):
config["logger_deps"] += "-client"
config["logger_log_every_iters"] = st.number_input(
"Logging interval for experiment tracking system (logger_log_every_iters)",
min_value=1,
value=100,
help="This logging interval is iteration based.",
)
st.markdown("---")


def model_options(config):
Expand Down Expand Up @@ -143,6 +168,7 @@ def get_configs() -> dict:
training_options(config)
distributed_options(config)
ignite_handlers_options(config)
ignite_loggers_options(config)
model_options(config)

return config
2 changes: 2 additions & 0 deletions templates/gan/main.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,8 @@ def run(

# attach ignite handlers
to_save = {'netD': netD, 'netG': netG, 'optimizerD': optimizerD, 'optimizerG': optimizerG, 'trainer': trainer}
optimizers = {'optimizerD': optimizerD, 'optimizerG': optimizerG}
evaluators = None
{% include "_handlers.pyi" %}

# attach progress bar
Expand Down
2 changes: 2 additions & 0 deletions templates/gan/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@ torchvision
pytorch-ignite
matplotlib
pandas
{{ handler_deps }}
{{ logger_deps }}
16 changes: 11 additions & 5 deletions templates/gan/utils.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,6 @@ DEFAULTS = {
"type": str,
"help": "datasets path ({{ data_path }})",
},
"filepath": {
"default": "{{ filepath }}",
"type": str,
"help": "logging file path ({{ filepath }})",
},
# dataloader options
"batch_size": {
"default": {{batch_size}},
Expand Down Expand Up @@ -134,6 +129,17 @@ DEFAULTS = {
"type": bool,
"help": "clear cuda cache every end of epoch",
},
# ignite logger options
"logger_log_every_iters": {
"default": {{logger_log_every_iters}},
"type": int,
"help": "logging interval for experiment tracking system ({{logger_log_every_iters}})",
},
"filepath": {
"default": "{{ filepath }}",
"type": str,
"help": "logging file path ({{ filepath }})",
},
# model options
"z_dim": {
"default": {{z_dim}},
Expand Down