def test_py_execution_engine(self): nni.retiarii.integration_api._advisor = None nni.retiarii.execution.api._execution_engine = None advisor = RetiariiAdvisor('ws://_unittest_placeholder_') advisor._channel = LegacyCommandChannel() advisor.default_worker.start() advisor.assessor_worker.start() set_execution_engine(PurePythonExecutionEngine()) model = Model._load({ '_model': { 'inputs': None, 'outputs': None, 'nodes': { 'layerchoice_1': { 'operation': { 'type': 'LayerChoice', 'parameters': { 'candidates': ['0', '1'] } } } }, 'edges': [] } }) model.evaluator = DebugEvaluator() model.python_class = object submit_models(model, model) advisor.stopping = True advisor.default_worker.join() advisor.assessor_worker.join()
def test_codegen(self): with open(self.enclosing_dir / 'mnist_pytorch.json') as f: model = Model._load(json.load(f)) script = model_to_pytorch_script(model) with open(self.enclosing_dir / 'debug_mnist_pytorch.py') as f: reference_script = f.read() self.assertEqual(script.strip(), reference_script.strip())
def test_py_execution_engine(self): advisor = RetiariiAdvisor() set_execution_engine(PurePythonExecutionEngine()) model = Model._load({ '_model': { 'inputs': None, 'outputs': None, 'nodes': { 'layerchoice_1': { 'operation': { 'type': 'LayerChoice', 'parameters': { 'candidates': ['0', '1'] } } } }, 'edges': [] } }) model.python_class = object submit_models(model, model) advisor.stopping = True advisor.default_worker.join() advisor.assessor_worker.join()
def test_mnist_example_pytorch(self): with open('mnist_pytorch.json') as f: model = Model._load(json.load(f)) script = model_to_pytorch_script(model) with open('debug_mnist_pytorch.py') as f: reference_script = f.read() self.assertEqual(script.strip(), reference_script.strip())
def test_base_execution_engine(self): advisor = RetiariiAdvisor() set_execution_engine(BaseExecutionEngine()) with open(self.enclosing_dir / 'mnist_pytorch.json') as f: model = Model._load(json.load(f)) submit_models(model, model) advisor.stopping = True advisor.default_worker.join() advisor.assessor_worker.join()
def _load_mnist(n_models: int = 1): path = Path(__file__).parent / 'converted_mnist_pytorch.json' with open(path) as f: mnist_model = Model._load(json.load(f)) if n_models == 1: return mnist_model else: models = [mnist_model] for i in range(n_models - 1): models.append(mnist_model.fork()) return models
def test_submit_models(self): os.makedirs('generated', exist_ok=True) from nni.runtime import protocol protocol._out_file = open( Path(__file__).parent / 'generated/debug_protocol_out_file.py', 'wb') advisor = RetiariiAdvisor() with open('mnist_pytorch.json') as f: model = Model._load(json.load(f)) submit_models(model, model) advisor.stopping = True advisor.default_worker.join() advisor.assessor_worker.join()
def _load_mnist(n_models: int = 1): path = Path(__file__).parent / 'mnist_pytorch.json' with open(path) as f: mnist_model = Model._load(json.load(f)) mnist_model.evaluator = _new_trainer() if n_models == 1: return mnist_model else: models = [mnist_model] for i in range(n_models - 1): forked_model = mnist_model.fork() forked_model.evaluator = _new_trainer() models.append(forked_model) return models
def _load_mnist(n_models: int = 1): path = Path('ut/nas/mnist_pytorch.json') with open(path) as f: mnist_model = Model._load(nni.load(fp=f)) mnist_model.evaluator = _new_trainer() if n_models == 1: return mnist_model else: models = [mnist_model] for i in range(n_models - 1): forked_model = mnist_model.fork() forked_model.evaluator = _new_trainer() models.append(forked_model) return models
def test_base_execution_engine(self): nni.retiarii.integration_api._advisor = None nni.retiarii.execution.api._execution_engine = None advisor = RetiariiAdvisor('ws://_unittest_placeholder_') advisor._channel = LegacyCommandChannel() advisor.default_worker.start() advisor.assessor_worker.start() set_execution_engine(BaseExecutionEngine()) with open(self.enclosing_dir / 'mnist_pytorch.json') as f: model = Model._load(json.load(f)) submit_models(model, model) advisor.stopping = True advisor.default_worker.join() advisor.assessor_worker.join()