From dde60d69be5d58f687194d5dbc7f3e06132d633c Mon Sep 17 00:00:00 2001 From: Manan Goel Date: Tue, 12 Apr 2022 15:47:54 +0000 Subject: [PATCH 1/7] Integration of the WandbLogger with the latest changes in the PaddleOCR integrations --- README.md | 1 + doc/doc_en/config_en.md | 16 +++++- ppocr/utils/loggers/__init__.py | 2 + ppocr/utils/loggers/base_logger.py | 15 ++++++ ppocr/utils/loggers/vdl_logger.py | 18 +++++++ ppocr/utils/loggers/wandb_logger.py | 78 +++++++++++++++++++++++++++++ tools/program.py | 59 ++++++++++++++-------- 7 files changed, 165 insertions(+), 24 deletions(-) create mode 100644 ppocr/utils/loggers/__init__.py create mode 100644 ppocr/utils/loggers/base_logger.py create mode 100644 ppocr/utils/loggers/vdl_logger.py create mode 100644 ppocr/utils/loggers/wandb_logger.py diff --git a/README.md b/README.md index 99d20357b4..9e79d77371 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,7 @@ PaddleOCR aims to create multilingual, awesome, leading, and practical OCR tools - Support user-defined training, provides rich predictive inference deployment solutions - Support PIP installation, easy to use - Support Linux, Windows, MacOS and other systems +- Supports metric logging to [VisualDL](https://www.paddlepaddle.org.cn/documentation/docs/en/guides/03_VisualDL/visualdl_usage_en.html) and [Weights & Biases](docs.wandb.ai) ## Visualization diff --git a/doc/doc_en/config_en.md b/doc/doc_en/config_en.md index d7bf5eaddd..7cdd3c491f 100644 --- a/doc/doc_en/config_en.md +++ b/doc/doc_en/config_en.md @@ -36,6 +36,7 @@ Take rec_chinese_lite_train_v2.0.yml as an example | pretrained_model | Set the path of the pre-trained model | ./pretrain_models/CRNN/best_accuracy | \ | | checkpoints | set model parameter path | None | Used to load parameters after interruption to continue training| | use_visualdl | Set whether to enable visualdl for visual log display | False | [Tutorial](https://www.paddlepaddle.org.cn/paddle/visualdl) | +| use_wandb | Set whether to enable W&B for visual log display | False | [Documentation](https://docs.wandb.ai/) | infer_img | Set inference image path or folder path | ./infer_img | \|| | character_dict_path | Set dictionary path | ./ppocr/utils/ppocr_keys_v1.txt | If the character_dict_path is None, model can only recognize number and lower letters | | max_text_length | Set the maximum length of text | 25 | \ | @@ -66,7 +67,7 @@ In PaddleOCR, the network is divided into four stages: Transform, Backbone, Neck | :---------------------: | :---------------------: | :--------------: | :--------------------: | | model_type | Network Type | rec | Currently support`rec`,`det`,`cls` | | algorithm | Model name | CRNN | See [algorithm_overview](./algorithm_overview_en.md) for the support list | -| **Transform** | Set the transformation method | - | Currently only recognition algorithms are supported, see [ppocr/modeling/transforms](../../ppocr/modeling/transforms) for details | +| **Transform** | Set the transformation method | - | Currently only recognition algorithms are supported, see [ppocr/modeling/transform](../../ppocr/modeling/transform) for details | | name | Transformation class name | TPS | Currently supports `TPS` | | num_fiducial | Number of TPS control points | 20 | Ten on the top and bottom | | loc_lr | Localization network learning rate | 0.1 | \ | @@ -130,6 +131,17 @@ In PaddleOCR, the network is divided into four stages: Transform, Backbone, Neck | drop_last | Whether to discard the last incomplete mini-batch because the number of samples in the data set cannot be divisible by batch_size | True | \ | | num_workers | The number of sub-processes used to load data, if it is 0, the sub-process is not started, and the data is loaded in the main process | 8 | \ | +### Weights & Biases ([W&B](../../ppocr/utils/loggers/wandb_logger.py)) +| Parameter | Use | Defaults | Note | +| :---------------------: | :---------------------: | :--------------: | :--------------------: | +| project | Project to which the run is to be logged | uncategorized | \ +| name | Alias/Name of the run | Randomly generated by wandb | \ +| id | ID of the run | Randomly generated by wandb | \ +| entity | User or team to which the run is being logged | The logged in user | \ +| save_dir | local directory in which all the models and other data is saved | wandb | \ +| config | model configuration | None | \ + + ## 3. Multilingual Config File Generation @@ -233,4 +245,4 @@ For more supported languages, please refer to : [Multi-language model](https://g The multi-language model training method is the same as the Chinese model. The training data set is 100w synthetic data. A small amount of fonts and test data can be downloaded using the following two methods. * [Baidu Netdisk](https://pan.baidu.com/s/1bS_u207Rm7YbY33wOECKDA),Extraction code:frgi. -* [Google drive](https://drive.google.com/file/d/18cSWX7wXSy4G0tbKJ0d9PuIaiwRLHpjA/view) +* [Google drive](https://drive.google.com/file/d/18cSWX7wXSy4G0tbKJ0d9PuIaiwRLHpjA/view) \ No newline at end of file diff --git a/ppocr/utils/loggers/__init__.py b/ppocr/utils/loggers/__init__.py new file mode 100644 index 0000000000..0c99035c43 --- /dev/null +++ b/ppocr/utils/loggers/__init__.py @@ -0,0 +1,2 @@ +from .vdl_logger import VDLLogger +from .wandb_logger import WandbLogger \ No newline at end of file diff --git a/ppocr/utils/loggers/base_logger.py b/ppocr/utils/loggers/base_logger.py new file mode 100644 index 0000000000..3a7fc3593b --- /dev/null +++ b/ppocr/utils/loggers/base_logger.py @@ -0,0 +1,15 @@ +import os +from abc import ABC, abstractmethod + +class BaseLogger(ABC): + def __init__(self, save_dir): + self.save_dir = save_dir + os.makedirs(self.save_dir, exist_ok=True) + + @abstractmethod + def log_metrics(self, metrics, prefix=None): + pass + + @abstractmethod + def close(self): + pass \ No newline at end of file diff --git a/ppocr/utils/loggers/vdl_logger.py b/ppocr/utils/loggers/vdl_logger.py new file mode 100644 index 0000000000..00cabd1764 --- /dev/null +++ b/ppocr/utils/loggers/vdl_logger.py @@ -0,0 +1,18 @@ +from .base_logger import BaseLogger +from visualdl import LogWriter + +class VDLLogger(BaseLogger): + def __init__(self, save_dir): + super().__init__(save_dir) + self.vdl_writer = LogWriter(logdir=save_dir) + + def log_metrics(self, metrics, prefix=None, step=None): + if not prefix: + prefix = "" + updated_metrics = {prefix + "/" + k: v for k, v in metrics.items()} + + for k, v in updated_metrics.items(): + self.vdl_writer.add_scalar(k, v, step) + + def close(self): + self.vdl_writer.close() \ No newline at end of file diff --git a/ppocr/utils/loggers/wandb_logger.py b/ppocr/utils/loggers/wandb_logger.py new file mode 100644 index 0000000000..5571a70306 --- /dev/null +++ b/ppocr/utils/loggers/wandb_logger.py @@ -0,0 +1,78 @@ +import os +from .base_logger import BaseLogger + +class WandbLogger(BaseLogger): + def __init__(self, + project=None, + name=None, + id=None, + entity=None, + save_dir=None, + config=None, + **kwargs): + try: + import wandb + self.wandb = wandb + except ModuleNotFoundError: + raise ModuleNotFoundError( + "Please install wandb using `pip install wandb`" + ) + + self.project = project + self.name = name + self.id = id + self.save_dir = save_dir + self.config = config + self.kwargs = kwargs + self.entity = entity + self._run = None + self._wandb_init = dict( + project=self.project, + name=self.name, + id=self.id, + entity=self.entity, + dir=self.save_dir, + resume="allow" + ) + self._wandb_init.update(**kwargs) + + _ = self.run + + if self.config: + self.run.config.update(self.config) + + @property + def run(self): + if self._run is None: + if self.wandb.run is not None: + logger.info( + "There is a wandb run already in progress " + "and newly created instances of `WandbLogger` will reuse" + " this run. If this is not desired, call `wandb.finish()`" + "before instantiating `WandbLogger`." + ) + self._run = self.wandb.run + else: + self._run = self.wandb.init(**self._wandb_init) + return self._run + + def log_metrics(self, metrics, prefix=None, step=None): + if not prefix: + prefix = "" + updated_metrics = {prefix + "/" + k: v for k, v in metrics.items()} + + self.run.log(updated_metrics, step=step) + + def log_model(self, is_best, prefix, metadata=None): + model_path = os.path.join(self.save_dir, prefix + '.pdparams') + artifact = self.wandb.Artifact('model-{}'.format(self.run.id), type='model', metadata=metadata) + artifact.add_file(model_path, name="model_ckpt.pdparams") + + aliases = [prefix] + if is_best: + aliases.append("best") + + self.run.log_artifact(artifact, aliases=aliases) + + def close(self): + self.run.finish() \ No newline at end of file diff --git a/tools/program.py b/tools/program.py index 8ec152bb92..37ce00103a 100755 --- a/tools/program.py +++ b/tools/program.py @@ -31,6 +31,7 @@ from ppocr.utils.stats import TrainingStats from ppocr.utils.save_load import save_model from ppocr.utils.utility import print_dict, AverageMeter from ppocr.utils.logging import get_logger +from ppocr.utils.loggers import VDLLogger, WandbLogger from ppocr.utils import profiler from ppocr.data import build_dataloader @@ -161,7 +162,7 @@ def train(config, eval_class, pre_best_model_dict, logger, - vdl_writer=None, + log_writer=None, scaler=None): cal_metric_during_train = config['Global'].get('cal_metric_during_train', False) @@ -288,10 +289,8 @@ def train(config, stats['lr'] = lr train_stats.update(stats) - if vdl_writer is not None and dist.get_rank() == 0: - for k, v in train_stats.get().items(): - vdl_writer.add_scalar('TRAIN/{}'.format(k), v, global_step) - vdl_writer.add_scalar('TRAIN/lr', lr, global_step) + if log_writer is not None and dist.get_rank() == 0: + log_writer.log_metrics(metrics=train_stats.get(), prefix="TRAIN", step=global_step) if dist.get_rank() == 0 and ( (global_step > 0 and global_step % print_batch_step == 0) or @@ -337,11 +336,9 @@ def train(config, logger.info(cur_metric_str) # logger metric - if vdl_writer is not None: - for k, v in cur_metric.items(): - if isinstance(v, (float, int)): - vdl_writer.add_scalar('EVAL/{}'.format(k), - cur_metric[k], global_step) + if log_writer is not None: + log_writer.log_metrics(metrics=cur_metric, prefix="EVAL", step=global_step) + if cur_metric[main_indicator] >= best_model_dict[ main_indicator]: best_model_dict.update(cur_metric) @@ -362,10 +359,13 @@ def train(config, ])) logger.info(best_str) # logger best metric - if vdl_writer is not None: - vdl_writer.add_scalar('EVAL/best_{}'.format(main_indicator), - best_model_dict[main_indicator], - global_step) + if log_writer is not None: + log_writer.log_metrics(metrics={ + "best_{}".format(main_indicator): best_model_dict[main_indicator] + }, prefix="EVAL", step=global_step) + + if isinstance(log_writer, WandbLogger): + log_writer.log_model(is_best=True, prefix="best_accuracy", metadata=best_model_dict) reader_start = time.time() if dist.get_rank() == 0: @@ -380,6 +380,10 @@ def train(config, best_model_dict=best_model_dict, epoch=epoch, global_step=global_step) + + if isinstance(log_writer, WandbLogger): + log_writer.log_model(is_best=False, prefix="latest") + if dist.get_rank() == 0 and epoch > 0 and epoch % save_epoch_step == 0: save_model( model, @@ -392,11 +396,15 @@ def train(config, best_model_dict=best_model_dict, epoch=epoch, global_step=global_step) + + if isinstance(log_writer, WandbLogger): + log_writer.log_model(is_best=False, prefix='iter_epoch_{}'.format(epoch)) + best_str = 'best metric, {}'.format(', '.join( ['{}: {}'.format(k, v) for k, v in best_model_dict.items()])) logger.info(best_str) - if dist.get_rank() == 0 and vdl_writer is not None: - vdl_writer.close() + if dist.get_rank() == 0 and log_writer is not None: + log_writer.close() return @@ -553,15 +561,22 @@ def preprocess(is_train=False): config['Global']['distributed'] = dist.get_world_size() != 1 - if config['Global']['use_visualdl'] and dist.get_rank() == 0: - from visualdl import LogWriter + if "use_visualdl" in config['Global'] and config['Global']['use_visualdl'] and dist.get_rank() == 0: save_model_dir = config['Global']['save_model_dir'] vdl_writer_path = '{}/vdl/'.format(save_model_dir) - os.makedirs(vdl_writer_path, exist_ok=True) - vdl_writer = LogWriter(logdir=vdl_writer_path) + log_writer = VDLLogger(save_model_dir) + elif ("use_wandb" in config['Global'] and config['Global']['use_wandb']) or "wandb" in config: + save_dir = config['Global']['save_model_dir'] + wandb_writer_path = "{}/wandb".format(save_dir) + if "wandb" in config: + wandb_params = config['wandb'] + else: + wandb_params = dict() + wandb_params.update({'save_dir': save_model_dir}) + log_writer = WandbLogger(**wandb_params, config=config) else: - vdl_writer = None + log_writer = None print_dict(config, logger) logger.info('train with paddle {} and device {}'.format(paddle.__version__, device)) - return config, device, logger, vdl_writer + return config, device, logger, log_writer From 56fccb03c8fc974ee7e9299604a30738b197cfd6 Mon Sep 17 00:00:00 2001 From: Manan Goel Date: Fri, 15 Apr 2022 06:44:22 +0000 Subject: [PATCH 2/7] Added functionality to use multiple loggers simultaneously and addded the english documentation on how to use them --- doc/doc_en/logging_en.md | 54 ++++++++++++++++++++++++++++ doc/imgs_en/wandb_metrics.png | Bin 0 -> 91765 bytes doc/imgs_en/wandb_models.png | Bin 0 -> 98283 bytes ppocr/utils/loggers/__init__.py | 3 +- ppocr/utils/loggers/loggers.py | 18 ++++++++++ ppocr/utils/loggers/vdl_logger.py | 5 ++- ppocr/utils/loggers/wandb_logger.py | 4 +-- tools/program.py | 31 +++++++++------- 8 files changed, 99 insertions(+), 16 deletions(-) create mode 100644 doc/doc_en/logging_en.md create mode 100644 doc/imgs_en/wandb_metrics.png create mode 100644 doc/imgs_en/wandb_models.png create mode 100644 ppocr/utils/loggers/loggers.py diff --git a/doc/doc_en/logging_en.md b/doc/doc_en/logging_en.md new file mode 100644 index 0000000000..f57d8419d8 --- /dev/null +++ b/doc/doc_en/logging_en.md @@ -0,0 +1,54 @@ +## Logging metrics and models + +PaddleOCR comes with two metric logging tools integrated directly into the training API: [VisualDL](https://readthedocs.org/projects/visualdl/) and [Weights & Biases](https://docs.wandb.ai/). + +### VisualDL +VisualDL is a visualization analysis tool of PaddlePaddle. The integration allows all training metrics to be logged to a VisualDL dashboard. To use it, add the following line to the `Global` section of the config yaml file - + +``` +Global: + use_visualdl: True +``` + +To see the visualizations run the following command in your terminal + +```shell +visualdl --logdir +``` + +Now open `localhost:8040` in your browser of choice! + +### Weights & Biases +W&B is a MLOps tool that can be used for experiment tracking, dataset/model versioning, visualizing results and collaborating with colleagues. A W&B logger is integrated directly into PaddleOCR and to use it, first you need to install the `wandb` sdk and login to your wandb account. + +```shell +pip install wandb +wandb login +``` + +If you do not have a wandb account, you can make one [here](https://wandb.ai/site). + +To visualize and track your model training add the following flag to your config yaml file under the `Global` section - + +``` +Global: + use_wandb: True +``` + +To add more arguments to the `WandbLogger` listed [here](./config_en.md) add the header `wandb` to the yaml file and add the arguments under it - + +``` +wandb: + project: my_project + entity: my_team +``` + +This will automatically log all the training and evaluation metrics to the W&B dashboard along with models at every model saving step and evaluation step are with the appropriate tags and metadata. +![W&B Dashboard](../imgs_en/wandb_metrics.png) + +![W&B Models](../imgs_en/wandb_models.png) + +To view the dashboard, the link to the dashboard is printed to the console at the beginning and end of every training job and you can also access it by logging into your W&B account on your browser. + +### Using Multiple Loggers +Both VisualDL and W&B can also be used simultaneously by just setting both the aforementioned flags to True. \ No newline at end of file diff --git a/doc/imgs_en/wandb_metrics.png b/doc/imgs_en/wandb_metrics.png new file mode 100644 index 0000000000000000000000000000000000000000..45f0041ae4d3819c2bf9c9fababcceb3ff20a115 GIT binary patch literal 91765 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%0D^yFwrrZ*#*It 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 literal 0 HcmV?d00001 diff --git a/doc/imgs_en/wandb_models.png b/doc/imgs_en/wandb_models.png new file mode 100644 index 0000000000000000000000000000000000000000..f9a7042bd59fa16179bd8a1f1e0eb49031300e4f GIT binary patch literal 98283 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 n6@WOFgkw@vD!}*mSY{R1$e 0 and epoch % save_epoch_step == 0: save_model( @@ -396,9 +394,8 @@ def train(config, best_model_dict=best_model_dict, epoch=epoch, global_step=global_step) - - if isinstance(log_writer, WandbLogger): - log_writer.log_model(is_best=False, prefix='iter_epoch_{}'.format(epoch)) + + log_writer.log_model(is_best=False, prefix='iter_epoch_{}'.format(epoch)) best_str = 'best metric, {}'.format(', '.join( ['{}: {}'.format(k, v) for k, v in best_model_dict.items()])) @@ -561,11 +558,14 @@ def preprocess(is_train=False): config['Global']['distributed'] = dist.get_world_size() != 1 - if "use_visualdl" in config['Global'] and config['Global']['use_visualdl'] and dist.get_rank() == 0: + loggers = [] + + if config['Global']['use_visualdl']: save_model_dir = config['Global']['save_model_dir'] vdl_writer_path = '{}/vdl/'.format(save_model_dir) log_writer = VDLLogger(save_model_dir) - elif ("use_wandb" in config['Global'] and config['Global']['use_wandb']) or "wandb" in config: + loggers.append(log_writer) + if config['Global']['use_wandb'] or 'wandb' in config: save_dir = config['Global']['save_model_dir'] wandb_writer_path = "{}/wandb".format(save_dir) if "wandb" in config: @@ -574,9 +574,16 @@ def preprocess(is_train=False): wandb_params = dict() wandb_params.update({'save_dir': save_model_dir}) log_writer = WandbLogger(**wandb_params, config=config) + loggers.append(log_writer) else: log_writer = None print_dict(config, logger) + + if loggers: + log_writer = Loggers(loggers) + else: + log_writer = None + logger.info('train with paddle {} and device {}'.format(paddle.__version__, device)) return config, device, logger, log_writer From 87ba1c36bc3d75c186d202bced63795cd2fb9a2e Mon Sep 17 00:00:00 2001 From: Manan Goel Date: Fri, 15 Apr 2022 06:47:52 +0000 Subject: [PATCH 3/7] Fixed small link error in config_en.md --- doc/doc_en/config_en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/doc_en/config_en.md b/doc/doc_en/config_en.md index 7cdd3c491f..60cad648f7 100644 --- a/doc/doc_en/config_en.md +++ b/doc/doc_en/config_en.md @@ -67,7 +67,7 @@ In PaddleOCR, the network is divided into four stages: Transform, Backbone, Neck | :---------------------: | :---------------------: | :--------------: | :--------------------: | | model_type | Network Type | rec | Currently support`rec`,`det`,`cls` | | algorithm | Model name | CRNN | See [algorithm_overview](./algorithm_overview_en.md) for the support list | -| **Transform** | Set the transformation method | - | Currently only recognition algorithms are supported, see [ppocr/modeling/transform](../../ppocr/modeling/transform) for details | +| **Transform** | Set the transformation method | - | Currently only recognition algorithms are supported, see [ppocr/modeling/transform](../../ppocr/modeling/transforms) for details | | name | Transformation class name | TPS | Currently supports `TPS` | | num_fiducial | Number of TPS control points | 20 | Ten on the top and bottom | | loc_lr | Localization network learning rate | 0.1 | \ | From f161045675da3182ced5fc87e51706157dd7f951 Mon Sep 17 00:00:00 2001 From: Manan Goel Date: Fri, 15 Apr 2022 09:44:42 +0000 Subject: [PATCH 4/7] Fixed bug to check if 'use_wandb' and 'use_visualdl' flags are addded or not --- tools/program.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/program.py b/tools/program.py index b65e91887e..72fca1482b 100755 --- a/tools/program.py +++ b/tools/program.py @@ -560,12 +560,12 @@ def preprocess(is_train=False): loggers = [] - if config['Global']['use_visualdl']: + if 'use_visualdl' in config['Global'] and config['Global']['use_visualdl']: save_model_dir = config['Global']['save_model_dir'] vdl_writer_path = '{}/vdl/'.format(save_model_dir) log_writer = VDLLogger(save_model_dir) loggers.append(log_writer) - if config['Global']['use_wandb'] or 'wandb' in config: + if ('use_wandb' in config['Global'] and config['Global']['use_wandb']) or 'wandb' in config: save_dir = config['Global']['save_model_dir'] wandb_writer_path = "{}/wandb".format(save_dir) if "wandb" in config: From eae14caba05d8556e4bbccf5f040d40f7eb30071 Mon Sep 17 00:00:00 2001 From: Manan Goel Date: Fri, 15 Apr 2022 13:43:22 +0000 Subject: [PATCH 5/7] Fixed bug tto check if log_writer is not None before calling log_model --- tools/program.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/program.py b/tools/program.py index 72fca1482b..9e1b3a72c0 100755 --- a/tools/program.py +++ b/tools/program.py @@ -380,7 +380,8 @@ def train(config, epoch=epoch, global_step=global_step) - log_writer.log_model(is_best=False, prefix="latest") + if log_writer is not None: + log_writer.log_model(is_best=False, prefix="latest") if dist.get_rank() == 0 and epoch > 0 and epoch % save_epoch_step == 0: save_model( @@ -394,8 +395,8 @@ def train(config, best_model_dict=best_model_dict, epoch=epoch, global_step=global_step) - - log_writer.log_model(is_best=False, prefix='iter_epoch_{}'.format(epoch)) + if log_writer is not None: + log_writer.log_model(is_best=False, prefix='iter_epoch_{}'.format(epoch)) best_str = 'best metric, {}'.format(', '.join( ['{}: {}'.format(k, v) for k, v in best_model_dict.items()])) From b7aa10e52bbada63cae89173d672551d6d1a1d9a Mon Sep 17 00:00:00 2001 From: Manan Goel Date: Sat, 23 Apr 2022 11:31:52 +0000 Subject: [PATCH 6/7] Added details on how the WandbLogger function works --- doc/doc_en/logging_en.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/doc/doc_en/logging_en.md b/doc/doc_en/logging_en.md index f57d8419d8..57f154f247 100644 --- a/doc/doc_en/logging_en.md +++ b/doc/doc_en/logging_en.md @@ -43,7 +43,12 @@ wandb: entity: my_team ``` -This will automatically log all the training and evaluation metrics to the W&B dashboard along with models at every model saving step and evaluation step are with the appropriate tags and metadata. +These config variables from the yaml file are used to instantiate the `WandbLogger` object with the project name, entity name (the logged in user by default), directory to store metadata (`./wandb` by default) and more. During the training process, the `log_metrics` function is called to log training and evaluation metrics at the training and evaluation steps respectively from the rank 0 process only. + +At every model saving step, the WandbLogger, logs the model using the `log_model` function along with relavant metadata and tags showing the epoch in which the model is saved, the model is best or not and so on. + +All the logging mentioned above is integrated into the `program.train` function and will generate dashboards like this - + ![W&B Dashboard](../imgs_en/wandb_metrics.png) ![W&B Models](../imgs_en/wandb_models.png) From ee9278b22da7cfdc21c7af7d80da5071b7281490 Mon Sep 17 00:00:00 2001 From: Manan Goel Date: Sat, 23 Apr 2022 12:00:58 +0000 Subject: [PATCH 7/7] Added details on how to use WandbLogger --- doc/doc_en/logging_en.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/doc_en/logging_en.md b/doc/doc_en/logging_en.md index 57f154f247..d00ab8bd56 100644 --- a/doc/doc_en/logging_en.md +++ b/doc/doc_en/logging_en.md @@ -53,6 +53,8 @@ All the logging mentioned above is integrated into the `program.train` function ![W&B Models](../imgs_en/wandb_models.png) +For more advanced usage to log images, audios, videos or any other form of data, you can use `WandbLogger().run.log`. More examples on how to log different kinds of data are available [here](https://docs.wandb.ai/examples). + To view the dashboard, the link to the dashboard is printed to the console at the beginning and end of every training job and you can also access it by logging into your W&B account on your browser. ### Using Multiple Loggers