27 #ifndef MXNET_CPP_METRIC_H_    28 #define MXNET_CPP_METRIC_H_    35 #include "dmlc/logging.h"    59                                bool strict = 
false) {
    63       CHECK_EQ(labels.
Size(), preds.
Size());
    73     CHECK_EQ(labels.
GetShape().size(), 1);
    75     std::vector<mx_float> pred_data(len);
    76     std::vector<mx_float> label_data(len);
    79     for (
mx_uint i = 0; i < len; ++i) {
    80       sum_metric += (pred_data[i] == label_data[i]) ? 1 : 0;
    91     static const float epsilon = 1e-15;
    94     std::vector<mx_float> pred_data(len * m);
    95     std::vector<mx_float> label_data(len);
    98     for (
mx_uint i = 0; i < len; ++i) {
   113     std::vector<mx_float> pred_data;
   115     std::vector<mx_float> label_data;
   118     size_t len = preds.
Size();
   120     for (
size_t i = 0; i < len; ++i) {
   121       sum += 
std::abs(pred_data[i] - label_data[i]);
   135     std::vector<mx_float> pred_data;
   137     std::vector<mx_float> label_data;
   140     size_t len = preds.
Size();
   142     for (
size_t i = 0; i < len; ++i) {
   143       mx_float diff = pred_data[i] - label_data[i];
   158     std::vector<mx_float> pred_data;
   160     std::vector<mx_float> label_data;
   163     size_t len = preds.
Size();
   165     for (
size_t i = 0; i < len; ++i) {
   166       mx_float diff = pred_data[i] - label_data[i];
   182     std::vector<mx_float> pred_data;
   184     std::vector<mx_float> label_data;
   187     size_t len = preds.
Size();
   189     for (
size_t i = 0; i < len; ++i) {
   190       mx_float diff = pred_data[i] - label_data[i];
   209 #endif  // MXNET_CPP_METRIC_H_ 
Accuracy()
Definition: metric.h:70
 
float Get()
Definition: metric.h:49
 
namespace of mxnet 
Definition: base.h:118
 
int num
Definition: metric.h:54
 
dynamic shape class that can hold shape of arbirary dimension 
Definition: shape.h:43
 
Symbol sqrt(const std::string &symbol_name, Symbol data)
Definition: op.h:2207
 
EvalMetric(const std::string &name, int num=0)
Definition: metric.h:42
 
MAE()
Definition: metric.h:108
 
void Update(NDArray labels, NDArray preds) override
Definition: metric.h:110
 
Symbol max(const std::string &symbol_name, Symbol data, dmlc::optional< Shape > axis=dmlc::optional< Shape >(), bool keepdims=false, bool exclude=false)
Definition: op.h:2756
 
void Update(NDArray labels, NDArray preds) override
Definition: metric.h:72
 
void SyncCopyToCPU(mx_float *data, size_t size=0)
Do a synchronize copy to a continugous CPU memory region. 
 
NDArray interface. 
Definition: ndarray.h:121
 
float sum_metric
Definition: metric.h:55
 
virtual void Update(NDArray labels, NDArray preds)=0
 
Symbol log(const std::string &symbol_name, Symbol data)
Definition: op.h:2355
 
LogLoss()
Definition: metric.h:88
 
int num_inst
Definition: metric.h:56
 
RMSE()
Definition: metric.h:153
 
unsigned int mx_uint
manually define unsigned int 
Definition: c_api.h:58
 
Symbol abs(const std::string &symbol_name, Symbol data)
Definition: op.h:1946
 
void Update(NDArray labels, NDArray preds) override
Definition: metric.h:90
 
void Update(NDArray labels, NDArray preds) override
Definition: metric.h:179
 
float mx_float
manually define float 
Definition: c_api.h:60
 
void Update(NDArray labels, NDArray preds) override
Definition: metric.h:132
 
std::string name
Definition: metric.h:53
 
static void CheckLabelShapes(NDArray labels, NDArray preds, bool strict=false)
Definition: metric.h:58
 
std::vector< mx_uint > GetShape() const 
 
void Reset()
Definition: metric.h:45
 
PSNR()
Definition: metric.h:176
 
void Update(NDArray labels, NDArray preds) override
Definition: metric.h:155
 
Symbol sum(const std::string &symbol_name, Symbol data, dmlc::optional< Shape > axis=dmlc::optional< Shape >(), bool keepdims=false, bool exclude=false)
Definition: op.h:2567
 
MSE()
Definition: metric.h:130