主要内容

scores2label

将预测分数转换为标签

自 R2024a 起

    说明

    labels = scores2label(scores,classNames) 通过返回通道维度中具有最高分数的标签,将指定的预测分数转换为标签。

    示例

    labels = scores2label(scores,classNames,dim) 额外指定预测分数的通道维度。

    [labels,topScores] = scores2label(___) 还使用上述任一语法返回与输出标签对应的分数。

    示例

    全部折叠

    将预训练的 SqueezeNet 神经网络加载到工作区中。

    [net,classNames] = imagePretrainedNetwork;

    从 PNG 文件中读取图像并对其进行分类。要对图像进行分类,请先将其数据类型转换为 single

    im = imread("peppers.png");
    figure
    imshow(im)

    Figure contains an axes object. The hidden axes object contains an object of type image.

    X = single(im);
    scores = predict(net,X);
    [label,score] = scores2label(scores,classNames);

    显示具有预测标签和对应分数的图像。

    figure
    imshow(im)
    title(string(label) + " (Score: " + score + ")")

    Figure contains an axes object. The hidden axes object with title bell pepper (Score: 0.89394) contains an object of type image.

    输入参数

    全部折叠

    预测分数,指定为数值数组或 dlarray 对象。

    对于分类神经网络,输出的元素对应于每个类的分数。分数的顺序与训练数据中类别的顺序匹配。例如,如果您使用分类标签 TTrain 训练神经网络,则分数的顺序与 categories(TTrain) 给出的类别顺序匹配。

    类名称,指定为字符串数组、分类数组或字符向量元胞数组。

    数据类型: string | cell | categorical

    通道维度,指定为下列值之一:

    • "auto" - 根据 classNames 中的元素数量自动确定 scores 的通道维度。如果 scores 恰好包含一个大小为 numel(classNames) 且元素之和为 1 的维度,则函数会使用该维度。否则,函数会抛出错误。

    • 正整数 - 将指定的维度用作通道维度。当 scores 包含多个大小为 numel(classNames) 的维度时,请使用此选项。

    scores2label 函数在指定维度中查找最高分数。

    数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | char | string

    输出参量

    全部折叠

    scores 的通道维度中具有最高分数的标签,以分类数组形式返回。

    与输出标签对应的分数,以数值数组或 dlarray 对象形式返回。

    此参量具有与 scores 相同的数据类型和格式。

    扩展功能

    全部展开

    版本历史记录

    在 R2024a 中推出