Skip to content
Snippets Groups Projects
Commit 0d518aba authored by Yifan Zhao's avatar Yifan Zhao
Browse files

Added progress bar support

parent 226ef7b3
No related branches found
No related tags found
No related merge requests found
......@@ -9,8 +9,14 @@ from torch.utils.data.dataloader import DataLoader
from ._logging import PathLike
from .approxapp import ApproxKnob, BaselineKnob, KnobsT
from .modeledapp import (IPerfModel, IQoSModel, LinearPerfModel, ModeledApp,
QoSModelP1, QoSModelP2)
from .modeledapp import (
IPerfModel,
IQoSModel,
LinearPerfModel,
ModeledApp,
QoSModelP1,
QoSModelP2,
)
from .torchutil import ModuleIndexer, get_summary, move_to_device_recursively
......@@ -161,14 +167,17 @@ class TorchApp(ModeledApp, abc.ABC):
@torch.no_grad()
def empirical_measure_qos_perf(
self, with_approxes: KnobsT, is_test: bool
self, with_approxes: KnobsT, is_test: bool, progress: bool = False
) -> Tuple[float, float]:
"""Measure the QoS and performance of Module with given approximation
empirically (i.e., by running the Module on the dataset)."""
from time import time_ns
from tqdm import tqdm
dataloader = self.test_loader if is_test else self.tune_loader
if progress:
dataloader = tqdm(dataloader)
approxed = self._apply_knobs(with_approxes)
qoses = []
......
......@@ -34,5 +34,5 @@ class TestModelZooAcc(unittest.TestCase):
)
tune = DataLoader(dataset, batchsize)
app = TorchApp("", network, tune, tune, get_knobs_from_file(), accuracy)
qos, _ = app.measure_qos_perf({}, False)
qos, _ = app.empirical_measure_qos_perf({}, False, True)
self.assertAlmostEqual(qos, target_acc)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment