NetMeasurements

NetMeasurements[net,data,measurement]

计算所要求的在 data 上运行的网络的测量值.

NetMeasurements[net,data,{mspec1,mspec2,}]

计算在 data 上运行的网络的测量值列表.

更多信息和选项

  • NetMeasurementsClassifierMeasurementsPredictorMeasurements 的扩展,它提供的一些特征使之特别适于神经网络. 例如,度量都在网络的计算图中有效地实现,并可以在 GPU 上计算,使得 NetMeasurements 可应用在培训网络时经常使用的大型数据集上.
  • net 可以是任何 NetChainNetGraphNetModel 或类似的可以提供给 NetTrain 的结构.
  • data 可以是任何可被 NetTrain 接受的格式,包括:
  • {input1output1,input2output2,}输入输出对列表
    port1{data11,},port2{},对应于网络中每个端口的数据
    "dataset"Wolfram 数据存储库的已命名的数据集
  • 常被用作神经网络应用程序实例的已命名数据集包括:
  • "MNIST"已分类的手写数字
    "FashionMNIST"已分类的服装图像
    "CIFAR-10","CIFAR-100"已分类的实物图像
    "MovieReview"带有情感的影评片段
  • 对已命名数据集进行测量相当于对 ResourceData["dataset","TestSet"] 进行测量.
  • 测量可具有以下形式:
  • "measurement"已命名的内置测量
    NetPort["output"]网络输出端口的值
    NetPort[{lspec,"output"}]网络内部激活函数的值
    <|"Measurement"spec,|>带有附加设置的测量
  • <|"Measurement"spec,|> 中的其他设置与 TrainingProgressMeasurements 中的一样.
  • Information 的所有属性都可用作内置测量.
  • 对于含有 CrossEntropyLossLayer 的网络,可使用以下内置测量:
  • "Accuracy"被正确分类的实例的比例
    "Accuracy"n正确结果位于前 n 的实例的比例
    "AreaUnderROCCurve"每个类在 ROC 曲线下的面积
    "CohenKappa"科恩的卡帕系数
    "ConfusionMatrix"类别为 i 的实例被分类为类别 j 的数量 cij
    "ConfusionMatrixPlot"混淆矩阵图
    "Entropy"熵,单位为 nat
    "ErrorRate"没有被正确分类的实例的比例
    "ErrorRate"n错误结果位于前 n 的实例的比例
    "F1Score"每个类的 F1 分数
    "FScore"β每个类的 Fβ 分数
    "FalseDiscoveryRate"每个类的错误发现率
    "FalseNegativeNumber"假负类实例的数量
    "FalseNegativeRate"每个类的假负类率
    "FalseOmissionRate"每个类的错误遗漏率
    "FalsePositiveNumber"假正类实例的数量
    "FalsePositiveRate"每个类的假正类率
    "Informedness"每个类的 informedness
    "Markedness"每个类的 markedness
    "MatthewsCorrelationCoefficient"每个类的 Matthews 相关系数
    "NegativePredictiveValue"每个类的负预测值 (negative predictive value)
    "Perplexity"熵的指数
    "Precision"每个类的精确度
    "Recall"每个类的召回率
    "ROCCurve"每个类的受试者工作特征 (ROC) 曲线
    "ROCCurvePlot"plot of the ROC curve
    "ScottPi"Scott 的 pi 系数
    "Specificity"每个类的特异度 (specificity)
    "TrueNegativeNumber"真负类实例的数量
    "TruePositiveNumber"真正类实例的数量
  • 对于含有 MeanSquaredLossLayerMeanAbsoluteLossLayer 的网络,可使用以下内置测量:
  • "FractionVarianceUnexplained"网络无法解释的输出方差的比例
    "IntersectionOverUnion"边界框的交并比 (intersection over union)
    "MeanDeviation"残差的平均绝对值
    "MeanSquare"残差的均方
    "RSquared"决定系数
    "StandardDeviation"残差的均方根
  • 支持以下选项:
  • BatchSizeAutomatic每个批次处理多少实例
    LossFunctionAutomatic评估输出 (assessing output) 的损失函数
    NetEvaluationMode"Test"专门进行训练的网络层应该如何运行
    TargetDevice"CPU"执行测量的目标设备
    WorkingPrecisionAutomatic浮点计算的精度

范例

打开所有单元关闭所有单元

基本范例  (1)

测量已训练过的 LeNet 在 MNIST 测试数据上的准确度. 设置神经网络和测试数据:

进行测量:

范围  (2)

在 MNIST 测试数据上对已训练过的 LeNet 进行几次测量. 设置神经网络和测试数据:

测量精确度和召回率:

测量宏观平均精度和微观平均召回率:

测量 logits 的平均激活:

绘制第一个卷积层滤波器的平均激活:

绘制混淆矩阵:

获取混淆矩阵的原始数据:

绘制平均 ROC 曲线:

绘制第一类的 ROC 曲线:

测量 CIFAR-100 数据集多任务训练过的网络的一个输出的错误率:

属性和关系  (2)

NetMeasurements 使用缓存加速重复的度量:

缓存也加速类似的度量:

"IntersectionOverUnion" 度量期待输入和目标边界框为 {x1,y1,x2,y2} 格式的列表,其中,(x1,y1)(x2,y2) 是描述边界框左下角和右上角的坐标:

交并比计算等于以下 Mathematica 函数:

可能存在的问题  (1)

尝试测量用于 LossFunction 的输出端口可能会失败:

一个简单的解决方法是创建一个额外的输出端口来测量和显式标记测试数据:

Wolfram Research (2019),NetMeasurements,Wolfram 语言函数,https://reference.wolfram.com/language/ref/NetMeasurements.html.

文本

Wolfram Research (2019),NetMeasurements,Wolfram 语言函数,https://reference.wolfram.com/language/ref/NetMeasurements.html.

CMS

Wolfram 语言. 2019. "NetMeasurements." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/NetMeasurements.html.

APA

Wolfram 语言. (2019). NetMeasurements. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/NetMeasurements.html 年

BibTeX

@misc{reference.wolfram_2024_netmeasurements, author="Wolfram Research", title="{NetMeasurements}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/NetMeasurements.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_netmeasurements, organization={Wolfram Research}, title={NetMeasurements}, year={2019}, url={https://reference.wolfram.com/language/ref/NetMeasurements.html}, note=[Accessed: 22-November-2024 ]}