def test_operation(operation, args): auger_operation = MockHelpers.called_with(AugerA2ML, operation, monkeypatch) google_operation = MockHelpers.called_with(GoogleA2ML, operation, monkeypatch) #run operation for a single provider ctx.config.set('providers', ['auger']) a2ml = A2ML(ctx) getattr(a2ml, operation)(*args) assert auger_operation.times == 1 assert google_operation.times == 0 for arg in range(len(args)): assert auger_operation.args[arg + 1] == args[arg] #run operation for multiple providers if operation != 'deploy' and operation != 'predict': ctx.config.set('providers', ['auger', 'google']) auger_operation.reset() google_operation.reset() a2ml = A2ML(ctx) getattr(a2ml, operation)(*args) assert auger_operation.times == 1 assert google_operation.times == 1 for arg in range(len(args)): assert auger_operation.args[arg + 1] == args[arg] assert google_operation.args[arg + 1] == args[arg]
def cmdl(ctx, provider, filename, model_id, threshold, locally, output): """Predict with deployed model.""" ctx.setup_logger(format='') A2ML(ctx, provider).predict(filename, model_id, threshold=threshold, locally=locally, output=output)
def test_init(self): fulldir = os.getcwd() + "/tests/test_google" os.chdir(fulldir) # load config(s) from test app ctx = Context() a2ml = A2ML(ctx) assert len(a2ml.runner.providers) == 3 assert isinstance(a2ml.runner.providers[0], GoogleA2ML)
def test_init(self): print("Current directory: {}".format(os.getcwd())) fulldir = os.getcwd() + "/tests/test_app" os.chdir(fulldir) # load config(s) from test app ctx = Context() a2ml = A2ML(ctx) assert len(a2ml.runner.providers) == 3 assert isinstance(a2ml.runner.providers[0], GoogleA2ML)
def test_import_server(self): from a2ml.api.a2ml import A2ML ctx = Context(path=os.path.join( os.environ.get('A2ML_PROJECT_PATH', ''), 'cli-integration-test'), debug=True) provider = "auger" ctx.config.set('config', 'providers', [provider]) ctx.config.set('config', 'use_server', True) A2ML(ctx, provider).import_data()
def test_init_a2ml(self, project, ctx, monkeypatch): init_auger = MockHelpers.count_calls( AugerA2ML, "__init__", monkeypatch) init_google = MockHelpers.count_calls( GoogleA2ML, "__init__", monkeypatch) ctx.config.set('config', 'providers', 'auger') a2ml = A2ML(ctx) assert len(a2ml.runner.providers) == 1 assert isinstance(a2ml.runner.providers['auger'], AugerA2ML) assert init_auger.times == 1 assert init_google.times == 0 # modify config on the fly ctx.config.set('config', 'providers', ['auger','google']) init_auger.reset() init_google.reset() a2ml = A2ML(ctx) assert len(a2ml.runner.providers) == 2 assert isinstance(a2ml.runner.providers['auger'], AugerA2ML) assert isinstance(a2ml.runner.providers['google'], GoogleA2ML) assert init_auger.times == 1 assert init_google.times == 1
def test_init_a2ml(self, monkeypatch): init_auger = MockHelpers.count_calls(AugerA2ML, "__init__", monkeypatch) init_google = MockHelpers.count_calls(GoogleA2ML, "__init__", monkeypatch) self.ctx.config['config'].providers = 'auger' a2ml = A2ML(self.ctx) assert len(a2ml.runner.providers) == 1 assert isinstance(a2ml.runner.providers[0], AugerA2ML) assert init_auger.times == 1 assert init_google.times == 0 # modify config on the fly self.ctx.config['config'].providers = ['auger', 'google'] init_auger.reset() init_google.reset() a2ml = A2ML(self.ctx) assert len(a2ml.runner.providers) == 2 assert isinstance(a2ml.runner.providers[0], AugerA2ML) assert isinstance(a2ml.runner.providers[1], GoogleA2ML) assert init_auger.times == 1 assert init_google.times == 1
def test_operation(operation, args): auger_operation = MockHelpers.called_with(AugerA2ML, operation, monkeypatch) google_operation = MockHelpers.called_with(GoogleA2ML, operation, monkeypatch) #run operation for a single provider self.ctx.config['config'].providers = ['auger'] a2ml = A2ML(self.ctx) getattr(a2ml, operation)(*args) assert auger_operation.times == 1 assert google_operation.times == 0 for arg in range(len(args)): assert auger_operation.args[arg + 1] == args[arg] #run operation for multiple providers self.ctx.config['config'].providers = ['auger', 'google'] auger_operation.reset() google_operation.reset() a2ml = A2ML(self.ctx) getattr(a2ml, operation)(*args) assert auger_operation.times == 1 assert google_operation.times == 1 for arg in range(len(args)): assert auger_operation.args[arg + 1] == args[arg] assert google_operation.args[arg + 1] == args[arg]
def import_data_task(params): ctx = create_context(params) return A2ML(ctx).import_data()
def cmdl(ctx, model_id, locally): """Deploy trained model.""" ctx.setup_logger(format='') A2ML(ctx).deploy(model_id, locally)
def cmdl(ctx, run_id, provider): """Evaluate models after training.""" ctx.setup_logger(format='') A2ML(ctx, provider).evaluate(run_id)
def cmdl(ctx, provider, model_id, locally, review): """Deploy trained model.""" ctx.setup_logger(format='') A2ML(ctx, provider).deploy(model_id, locally, review)
def cmdl(ctx): """Import data for training.""" ctx.setup_logger(format='') A2ML(ctx).import_data()
def cmdl(ctx, source, provider): """Import data for training.""" ctx.setup_logger(format='') A2ML(ctx, provider).import_data(source)
def deploy_task(params): return with_context( params, lambda ctx: A2ML(ctx).deploy(*params['args'], **params['kwargs']))
def train_task(params): return with_context( params, lambda ctx: A2ML(ctx).train(*params['args'], **params['kwargs']))
def cmdl(ctx): """Review specified model info.""" ctx.setup_logger(format='') A2ML(ctx).review()
def predict_task(params): ctx = create_context(params) return A2ML(ctx).predict(params.get('filename'), params.get('model_id'), params.get('threshold'))
def cmdl(ctx, filename, model_id, threshold, locally): """Predict with deployed model.""" ctx.setup_logger(format='') A2ML(ctx).predict(filename, model_id, threshold, locally)
def cmdl(ctx): """Evaluate models after training.""" ctx.setup_logger(format='') A2ML(ctx).evaluate()
def import_data_task(params): return with_context( params, lambda ctx: A2ML(ctx).import_data(*params['args'], **params['kwargs']))
def train_task(params): ctx = create_context(params) return A2ML(ctx).train()
def evaluate_task(params): return with_context( params, lambda ctx: A2ML(ctx).evaluate(*params['args'], **params['kwargs']))
def evaluate_task(params): ctx = create_context(params) return A2ML(ctx).evaluate()
def predict_task(params): return with_context( params, lambda ctx: A2ML(ctx).predict(*params['args'], **params['kwargs']))
def deploy_task(params): ctx = create_context(params) return A2ML(ctx).deploy(params.get('model_id'))
def cmdl(ctx, provider): """Train the model.""" ctx.setup_logger(format='') A2ML(ctx, provider).train()
def actuals_task(params): return with_context( params, lambda ctx: A2ML(ctx).actuals(*params['args'], **params['kwargs']))