mindspore.train.Perplexity
- class mindspore.train.Perplexity(ignore_label=None)[源代码]
计算困惑度(perplexity)。困惑度是衡量一个概率分布或语言模型好坏的标准。低困惑度表明语言模型可以很好地预测样本。计算方式如下:
\[PP(W)=P(w_{1}w_{2}...w_{N})^{-\frac{1}{N}}=\sqrt[N]{\frac{1}{P(w_{1}w_{2}...w_{N})}}\]其中 \(w\) 代表语料库中的单词。根号内是句子概率的倒数,句子越好(概率大),困惑度越小。
- 参数:
ignore_label (Union[int, None]) - 计数时要忽略的无效标签的索引。如果设置为None,它将包括所有条目。默认值:
None
。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import numpy as np >>> from mindspore import Tensor >>> from mindspore.train import Perplexity >>> x = Tensor(np.array([[0.2, 0.5], [0.3, 0.1], [0.9, 0.6]])) >>> y = Tensor(np.array([1, 0, 1])) >>> metric = Perplexity(ignore_label=None) >>> metric.clear() >>> metric.update(x, y) >>> perplexity = metric.eval() >>> print(perplexity) 2.231443166940565