def report_evaluation_metrics(self, model_outputs, labels): """ report evaluation metrics to ps. """ req = elasticdl_pb2.ReportEvaluationMetricsRequest() for name, output in model_outputs.items(): output = np.concatenate(output) serialize_ndarray(output, req.model_outputs[name]) labels = np.concatenate(labels) serialize_ndarray(labels, req.labels) req.worker_id = self._worker_id self._stub.report_evaluation_metrics(req)
def report_evaluation_metrics(self, model_outputs, labels): """ report evaluation metrics to ps. """ req = elasticdl_pb2.ReportEvaluationMetricsRequest() for name, output in model_outputs.items(): output = np.concatenate(output) emplace_tensor_pb_from_ndarray(req.model_outputs, output, name=name) labels = np.concatenate(labels) tensor = Tensor(values=labels) serialize_tensor(tensor, req.labels) self._stub.report_evaluation_metrics(req)
def report_evaluation_metrics(self, model_outputs, labels): """ report evaluation metrics to ps, return (accepted, model_version) from rpc call. """ req = elasticdl_pb2.ReportEvaluationMetricsRequest() if not isinstance(model_outputs, dict): model_outputs = {MetricsDictKey.MODEL_OUTPUT: model_outputs} for name, output in model_outputs.items(): req.model_outputs[name].CopyFrom(ndarray_to_tensor(output.numpy())) req.labels.CopyFrom(ndarray_to_tensor(labels.numpy())) req.model_version = self._model_version res = self._stub.ReportEvaluationMetrics(req) return res.accepted, res.model_version
def report_evaluation_metrics(self, evaluation_metrics): """ report evaluation metrics to ps, return (accepted, model_version) from rpc call. """ req = elasticdl_pb2.ReportEvaluationMetricsRequest() for k, v in evaluation_metrics.items(): v_np = v.numpy() # If scalar, convert to numpy 1D array with size 1 if not v_np.shape: v_np = v_np.reshape(1) req.evaluation_metrics[k].CopyFrom(ndarray_to_tensor(v_np)) req.model_version = self._model_version res = self._stub.ReportEvaluationMetrics(req) return res.accepted, res.model_version
def report_evaluation_metrics(self, model_outputs, labels): """ report evaluation metrics to ps, return (accepted, model_version) from rpc call. """ req = elasticdl_pb2.ReportEvaluationMetricsRequest() for name, output in model_outputs.items(): output = np.concatenate(output) emplace_tensor_pb_from_ndarray(req.model_outputs, output, name=name) labels = np.concatenate(labels) tensor = Tensor(values=labels) serialize_tensor(tensor, req.labels) req.model_version = self._model_version if self._use_multi_ps else -1 res = self._stub.ReportEvaluationMetrics(req) return res.accepted, res.model_version
def report_evaluation_metrics(self, model_outputs, labels): """Report evaluation metrics to master. Args: model_outputs: dict the evaluation result on training. labels: numpy array the labels on training dataset. """ req = elasticdl_pb2.ReportEvaluationMetricsRequest() for name, output in model_outputs.items(): output = np.concatenate(output) serialize_ndarray(output, req.model_outputs[name]) labels = np.concatenate(labels) serialize_ndarray(labels, req.labels) req.worker_id = self._worker_id self._stub.report_evaluation_metrics(req)