Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagepy
linenumberstrue
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:

...