in lab/app/windfarm.py [0:0]
def notify_model_update(self, device_id, model_name, model_version):
logging.info("Loading model %s version %f in device %d" % ( model_name, model_version, device_id))
model_path = 'agent/model/%d/%s/%s' % (device_id, model_name, str(model_version))
if self.edge_agents[device_id].is_model_loaded(model_name):
if model_version > self.model_meta[device_id]['model_version']:
logging.info("Unloading old model: %s v: %s" % (model_name, str(model_version) ) )
self.edge_agents[device_id].unload_model(model_name)
self.simulator.update_label(device_id, "Model unloaded: %.01f" % self.model_meta[device_id]['model_version'])
else:
logging.info("New model is equals to the previous")
return
ret = self.edge_agents[device_id].load_model(model_name, model_path)
if ret is not None:
self.model_meta[device_id]['model_name'] = model_name
self.model_meta[device_id]['model_path'] = model_path
self.model_meta[device_id]['model_version'] = model_version
self.simulator.update_label(device_id, 'Model Loaded: %.01f' % model_version)