def _handle_truth( self, rs ): with TruthGPUDiracModel.batch_write() as tgdModel: base_key = '%s/truth-accuracy/%s' if self._truth is None: self._truth = {}#hacky, make setter for mid, m in zip(self.mask_ids, self.masks): masked_rs = resultset.Masked( rs, m ) acc = self._truth[mid] = masked_rs.accuracy r_key = self._save_result_to_s3( base_key, acc ) rf = base64.b64encode( json.dumps( rs.get_result_files() ) ) ts = datetime.datetime.utcnow().strftime('%Y.%m.%d-%H:%M:%S') tgdModel.save(TruthGPUDiracModel( masked_rs.run_id, mid, accuracy_file = r_key, result_files = rf, bucket = self.results_bucket_name, timestamp = ts )) self.logger.debug("Writing %s" % (r_key) ) return self.truth