def createModel(): json_data = request.get_json(force=True) # check if all fields are there if json_data.get('model_name') is None: abort(make_response("model_name field is missing.\n", 422)) if json_data.get('model_type') is None: abort(make_response("model_type field is missing.\n", 422)) if json_data.get('retrain_counter') is None: abort(make_response("no retrain information set.\n", 422)) # add model to list of models app.r.sadd('models', json_data.get('model_name')) # save model definition mdl = ModelFactory.createModel(json_data.get('model_type'), json_data.get('model_name'), json_data.get('retrain_counter')) if mdl is None: return abort(make_response("No model available of type " + json_data.get('model_type') + "\n", 422)) app.r.set(json_data.get('model_name') + '_object', pickle.dumps(mdl)) return "created model: " + str(mdl) + "\n", 201
def test_factory_creation(self): model_name = 'lin_reg' retrain_counter = 10 model_obj = StandardModels.LinearRegression(model_name, retrain_counter) model_obj2 = ModelFactory.createModel('LinearRegression', model_name, retrain_counter) self.assertEqual(model_obj, model_obj2)
def test_online_linear_regression(self): model_name = 'onl_lin_reg' retrain_counter = 1 model_obj = ModelFactory.createModel('OnlineLinearRegression', model_name, retrain_counter) self.assertEqual(model_obj.model_name, model_name) self.assertEqual(model_obj.retrain_counter, retrain_counter) self.assertEqual(model_obj.model_type, "OnlineLinearRegression")