...
Code Block | ||||
---|---|---|---|---|
| ||||
def train_model(model, train_data, validation_data, max_epoches, batch_size, environment): # train model (e.g. until max_epoches are reached or validation loss increases) model.train(train_data, validation_data, max_epoches, batch_size) # store model parameters within database post_data = { "algorithm_run_id": environment.r['runtime']['run_id'], "config_data": model.get_parameters(), "description": {},"" } response = requests.post('http://localhost:8004/algoconfig/%s' % environment['algorithm']['cfg_name'], datajson=post_data).json() if response['has_erroerror'] == True: raise ValueError('An error occuredoccurred while storing the algorithm\'s configuration:\n%s' % response['error']) return response['data'] def test_model(model, test_data, environment): # test model (e.g. predict the test_data) model.run(test_data) (time_start, position_hg, prediction_data) = model.get_prediction() # store predictions within database post_data = [ { "algorithm_config": environment['algorithm']['cfg_name'], "algorithm_run_id": environment['runtime']['run_id'], "lat_hg": position_hg[0], "long_hg": position_hg[1], "prediction_data": prediction_data, "source_data": [get_fc_id(row) for row in test_data], "time_start": time_start } ] response = requests.post('http://localhost:8004/prediction/bulk', datajson=post_data).json() if response['has_erroerror'] == True: raise ValueError('An error occuredoccurred while storing the algorithm\'s prediction:\n%s' % response['error']) return response['data'] |
The post_data structure is equivalent to the the algorithm_config_data or prediction_data definitions as given by the routes /algoconfig/{name} and /prediction/bulk:
...