-
-
Notifications
You must be signed in to change notification settings - Fork 636
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
move tests to ignite.handlers along with fixtures and changing the imports add a test to ensure deprecation warnings for ignite.contrib.handlers
- Loading branch information
Showing
18 changed files
with
230 additions
and
169 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,79 +1,7 @@ | ||
import random | ||
from pathlib import Path | ||
|
||
import pytest | ||
|
||
|
||
@pytest.fixture | ||
def no_site_packages(request): | ||
import sys | ||
|
||
modules = {} | ||
for k in sys.modules: | ||
if request.param in k: | ||
modules[k] = sys.modules[k] | ||
for k in modules: | ||
del sys.modules[k] | ||
|
||
prev_path = list(sys.path) | ||
sys.path = [p for p in sys.path if "site-packages" not in p] | ||
yield "no_site_packages" | ||
sys.path = prev_path | ||
for k in modules: | ||
sys.modules[k] = modules[k] | ||
|
||
|
||
@pytest.fixture() | ||
def visdom_offline_logfile(dirname): | ||
log_file = dirname / "logs.visdom" | ||
yield log_file | ||
|
||
|
||
vd_hostname = None | ||
vd_port = None | ||
vd_server_process = None | ||
|
||
|
||
@pytest.fixture() | ||
def visdom_server(): | ||
# Start Visdom server once and stop it with visdom_server_stop | ||
global vd_hostname, vd_port, vd_server_process | ||
|
||
if vd_server_process is None: | ||
import subprocess | ||
import time | ||
|
||
from visdom import Visdom | ||
from visdom.server.build import download_scripts | ||
|
||
(Path.home() / ".visdom").mkdir(exist_ok=True) | ||
download_scripts() | ||
|
||
vd_hostname = "localhost" | ||
vd_port = random.randint(8089, 8887) | ||
|
||
try: | ||
vis = Visdom(server=vd_hostname, port=vd_port, raise_exceptions=True) | ||
except ConnectionError: | ||
pass | ||
|
||
vd_server_process = subprocess.Popen( | ||
["python", "-m", "visdom.server", "--hostname", vd_hostname, "-port", str(vd_port)] | ||
) | ||
time.sleep(5) | ||
|
||
vis = Visdom(server=vd_hostname, port=vd_port) | ||
assert vis.check_connection() | ||
vis.close() | ||
|
||
yield (vd_hostname, vd_port) | ||
|
||
|
||
@pytest.fixture() | ||
def visdom_server_stop(): | ||
yield None | ||
|
||
import time | ||
|
||
vd_server_process.kill() | ||
time.sleep(2) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
98 changes: 98 additions & 0 deletions
98
tests/ignite/contrib/handlers/test_warnings_of_deprecation.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
from importlib import __import__ | ||
|
||
import pytest | ||
|
||
|
||
@pytest.mark.parametrize( | ||
"log_module,fromlist", | ||
[ | ||
("mlflow_logger", ["MLflowLogger", "OptimizerParamsHandler", "OutputHandler"]), | ||
("polyaxon_logger", ["PolyaxonLogger", "OutputHandler", "OptimizerParamsHandler"]), | ||
("wandb_logger", ["WandBLogger", "OutputHandler", "OptimizerParamsHandler"]), | ||
("lr_finder", ["FastaiLRFinder"]), | ||
("tqdm_logger", ["ProgressBar"]), | ||
( | ||
"clearml_logger", | ||
[ | ||
"ClearMLLogger", | ||
"ClearMLSaver", | ||
"OptimizerParamsHandler", | ||
"OutputHandler", | ||
"WeightsScalarHandler", | ||
"WeightsHistHandler", | ||
"GradsScalarHandler", | ||
"GradsHistHandler", | ||
], | ||
), | ||
( | ||
"tensorboard_logger", | ||
[ | ||
"TensorboardLogger", | ||
"OptimizerParamsHandler", | ||
"OutputHandler", | ||
"WeightsScalarHandler", | ||
"WeightsHistHandler", | ||
"GradsScalarHandler", | ||
"GradsHistHandler", | ||
], | ||
), | ||
( | ||
"visdom_logger", | ||
[ | ||
"VisdomLogger", | ||
"OptimizerParamsHandler", | ||
"OutputHandler", | ||
"WeightsScalarHandler", | ||
"GradsScalarHandler", | ||
], | ||
), | ||
( | ||
"neptune_logger", | ||
[ | ||
"NeptuneLogger", | ||
"NeptuneSaver", | ||
"OptimizerParamsHandler", | ||
"OutputHandler", | ||
"WeightsScalarHandler", | ||
"GradsScalarHandler", | ||
], | ||
), | ||
( | ||
"base_logger", | ||
[ | ||
"BaseHandler", | ||
"BaseWeightsHandler", | ||
"BaseOptimizerParamsHandler", | ||
"BaseOutputHandler", | ||
"BaseWeightsScalarHandler", | ||
"BaseLogger", | ||
], | ||
), | ||
( | ||
"time_profilers", | ||
[ | ||
"BasicTimeProfiler", | ||
"HandlersTimeProfiler", | ||
], | ||
), | ||
( | ||
"param_scheduler", | ||
[ | ||
"ConcatScheduler", | ||
"CosineAnnealingScheduler", | ||
"LinearCyclicalScheduler", | ||
"LRScheduler", | ||
"ParamGroupScheduler", | ||
"ParamScheduler", | ||
"PiecewiseLinear", | ||
"CyclicalScheduler", | ||
"create_lr_scheduler_with_warmup", | ||
], | ||
), | ||
], | ||
) | ||
def test_imports(log_module, fromlist): | ||
with pytest.warns(DeprecationWarning, match="will be removed in version 0.6.0"): | ||
imported = __import__(f"ignite.contrib.handlers.{log_module}", globals(), locals(), fromlist) | ||
for attr in fromlist: | ||
getattr(imported, attr) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,15 @@ | ||
# Needed to collect coverage data | ||
class MockFP16DeepSpeedZeroOptimizer: | ||
def __init__(self, optimizer): | ||
self.optimizer = optimizer | ||
|
||
def step(self, closure=None): | ||
self.optimizer.step() | ||
|
||
def _get_param_groups(self): | ||
return self.optimizer.param_groups | ||
|
||
def _set_param_groups(self, value): | ||
self.optimizer.param_groups = value | ||
|
||
param_groups = property(_get_param_groups, _set_param_groups) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.