| # 度量(Metric) |
| |
| 该模块包含一组用于评估模型性能的度量类。 特定的度量类可以由C++的实现转换或直接使用Python实现。 |
| |
| 示例用法: |
| |
| ```python |
| from singa import tensor |
| from singa import metric |
| |
| x = tensor.Tensor((3, 5)) |
| x.uniform(0, 1) # randomly genearte the prediction activation |
| x = tensor.SoftMax(x) # normalize the prediction into probabilities |
| y = tensor.from_numpy(np.array([0, 1, 3], dtype=np.int)) # set the truth |
| |
| f = metric.Accuracy() |
| acc = f.evaluate(x, y) # averaged accuracy over all 3 samples in x |
| ``` |
| |
| --- |
| |
| ### class singa.metric.Metric |
| |
| 基类:`object` |
| |
| 度量类的基类 |
| |
| 封装C++度量类的子类可以使用继承的前向函数,并评估此基类的函数。 其他子类需要重写这些函数。 用户需要提供预测值和真实值来获取度量值。 |
| |
| --- |
| |
| #### forward(x, y) |
| |
| 为每个样本计算度量值 |
| |
| **参数:** |
| - **x (Tensor)** – 预测值,每行代表一个样本的预测值 |
| - **y (Tensor)** – 真实值,每行代表一个样本的真实值 |
| |
| **返回值:** 浮点数组成的tensor,每个样本对应一个浮点数输出 |
| |
| --- |
| |
| #### evaluate(x, y) |
| |
| 计算样本的平均度量值 |
| |
| **参数:** |
| - **x (Tensor)** – 预测值,每列代表一个样本的预测值 |
| - **y (Tensor)** – 真实值,每列代表一个样本的真实值 |
| |
| **返回值:** 浮点数组成的tensor,每个样本对应一个浮点数输出 |
| |
| --- |
| |
| ### class singa.metric.Accuracy |
| |
| 基类:`singa.metric.Metric` |
| |
| 对于单标签预测任务,计算top-1精确度。它调用C++函数实现计算。 |
| |
| --- |