Download microsoftexcel-controlnet/annotator/mmpkg/mmcv/runner/hooks/sync_buffer.py from toto10/extensions: direct link, hf CLI and curl.
- Browser
- Download file 707 Bytes
-
https://huggingface.co/toto10/extensions/resolve/refs%2Fpr%2F4/microsoftexcel-controlnet/annotator/mmpkg/mmcv/runner/hooks/sync_buffer.py
- Command line
-
hf download hf://toto10/extensions@refs/pr/4/microsoftexcel-controlnet/annotator/mmpkg/mmcv/runner/hooks/sync_buffer.py
-
curl -L -o sync_buffer.py https://huggingface.co/toto10/extensions/resolve/refs%2Fpr%2F4/microsoftexcel-controlnet/annotator/mmpkg/mmcv/runner/hooks/sync_buffer.py
707 Bytes
| # Copyright (c) OpenMMLab. All rights reserved. | |
| from ..dist_utils import allreduce_params | |
| from .hook import HOOKS, Hook | |
| class SyncBuffersHook(Hook): | |
| """Synchronize model buffers such as running_mean and running_var in BN at | |
| the end of each epoch. | |
| Args: | |
| distributed (bool): Whether distributed training is used. It is | |
| effective only for distributed training. Defaults to True. | |
| """ | |
| def __init__(self, distributed=True): | |
| self.distributed = distributed | |
| def after_epoch(self, runner): | |
| """All-reduce model buffers at the end of each epoch.""" | |
| if self.distributed: | |
| allreduce_params(runner.model.buffers()) | |