机器学习、深度学习评价指标汇总:TP、TN、FP、FN、AP、mAP、IoU、mAP@3、Prec@10、 Acc@10

系列文章目录


文章目录

  • 系列文章目录
  • 一、真正例(True Positive)、假正例(False Positive)、真负例(True Negative)和假负例(False Negative)是评估分类模型性能的重要概念。
    • 1. 定义
    • 2. 例子
    • 3. 计算指标
    • 4. 总结
  • 二、AP(Average Precision)和mAP(mean Average Precision)是用于评估目标检测和信息检索等任务中模型性能的重要指标。
    • 1. Average Precision (AP)
      • 2. mean Average Precision (mAP)
      • 3. 应用
      • 4. 重要性
      • 5. 示例
      • 总结
  • 三、IoU(Intersection over Union)
    • 定义:
    • 1. 计算方法
      • 2. 示例
        • 计算步骤:
      • 3. IoU 的意义
      • 4. 应用场景
      • 5. 总结
  • 四、mAP@0.3
    • mAP@0.3 的含义
      • 应用场景
      • 总结
  • 五、在信息检索(retrieval)任务中,R@(Recall at k)是一个重要的评估指标,用于衡量模型在前 k 个检索结果中找到相关项的能力。
    • 1. 定义
    • 2. 计算步骤
    • 3. 示例
    • 4. 应用场景
    • 5. 重要性
    • 6. 总结
  • 六、Prec@10 和 Acc@10 是两个不同的指标,它们在定义和计算上有显著区别。
      • 1. 定义
      • 2. 计算方式
      • 3. 示例
        • **计算 Prec@10**:
        • **计算 Acc@10**:
      • 4. 应用场景
      • 5. 总结


一、真正例(True Positive)、假正例(False Positive)、真负例(True Negative)和假负例(False Negative)是评估分类模型性能的重要概念。

这些指标主要用于二分类问题,详细介绍如下:

1. 定义

  • 真正例 (True Positive, TP)
    模型正确地将正类(例如,某种疾病存在)预测为正类的实例数量。

  • 假正例 (False Positive, FP)
    模型错误地将负类(例如,某种疾病不存在)预测为正类的实例数量。这通常被称为“误报”。

  • 真负例 (True Negative, TN)
    模型正确地将负类预测为负类的实例数量。

  • 假负例 (False Negative, FN)
    模型错误地将正类预测为负类的实例数量。这通常被称为“漏报”。

2. 例子

假设我们有一个用于检测疾病的模型,测试结果如下:

  • 实际情况

    • 10人有疾病(正类)
    • 90人没有疾病(负类)
  • 模型预测结果

    • 8人被正确预测为有疾病(TP = 8)
    • 2人被错误预测为没有疾病(FN = 2)
    • 5人被错误预测为有疾病(FP = 5)
    • 85人被正确预测为没有疾病(TN = 85)

3. 计算指标

根据上述例子,我们可以计算以下指标:

  • 准确率 (Accuracy)

Accuracy = T P + T N T P + T N + F P + F N = 8 + 85 8 + 85 + 5 + 2 = 93 100 = 0.93 \text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN} = \frac{8 + 85}{8 + 85 + 5 + 2} = \frac{93}{100} = 0.93 Accuracy=TP+TN+FP+FNTP+TN=8+85+5+28+85=10093=0.93

  • 精确率 (Precision)

Precision = T P T P + F P = 8 8 + 5 = 8 13 ≈ 0.615 \text{Precision} = \frac{TP}{TP + FP} = \frac{8}{8 + 5} = \frac{8}{13} \approx 0.615 Precision=TP+FPTP=8+58=1380.615

  • 召回率 (Recall)

Recall = T P T P + F N = 8 8 + 2 = 8 10 = 0.8 \text{Recall} = \frac{TP}{TP + FN} = \frac{8}{8 + 2} = \frac{8}{10} = 0.8 Recall=TP+FNTP=8+28=108=0.8

  • F1分数 (F1 Score)

F 1 = 2 × Precision × Recall Precision + Recall = 2 × 0.615 × 0.8 0.615 + 0.8 ≈ 0.692 F1 = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}} = 2 \times \frac{0.615 \times 0.8}{0.615 + 0.8} \approx 0.692 F1=2×Precision+RecallPrecision×Recall=2×0.615+0.80.615×0.80.692

4. 总结

  • 真正例真负例反映了模型的正确预测能力。
  • 假正例假负例则反映了模型的错误预测情况。
  • 通过计算准确率、精确率、召回率和F1分数等指标,可以全面评估模型的性能。

这些概念在实际应用中非常重要,尤其是在医疗、金融和安全等领域,能够帮助我们理解模型的优缺点并进行改进。

二、AP(Average Precision)和mAP(mean Average Precision)是用于评估目标检测和信息检索等任务中模型性能的重要指标。

1. Average Precision (AP)

定义
AP是通过计算精确率(Precision)和召回率(Recall)曲线下的面积来衡量模型在不同阈值下的性能。它综合考虑了模型在不同召回率水平下的精确率。查准率和查全率是一对矛盾的度量,一般而言,查准率高则查全率偏低,查全率高时查准率则偏低。为了更全面的衡量模型的性能提出了AP概念。AP 表示的是检测器在各个 Recall 情况下的平均值,对应的就是 PR 曲线下的面积(AUC, Area Under Curve),如下图所示。
在这里插入图片描述

矛盾:如果我们提高查准率,通常需要减少假正例(FP),这可能导致模型对正类的预测变得更加严格,从而可能漏掉一些真正的正类(增加假负例,FN),导致查全率降低。反之,如果我们提高查全率,可能会放宽模型的判定标准,这样会增加假正例(FP),从而降低查准率。

计算步骤

  1. 排序预测结果:根据模型的置信度分数对预测结果进行排序。
  2. 计算精确率和召回率:在每个预测结果中计算精确率和召回率。
  3. 绘制PR曲线:以召回率为横轴,精确率为纵轴绘制曲线。
  4. 计算AP:AP是PR曲线下的面积,通常通过插值法或数值积分法计算。

2. mean Average Precision (mAP)

定义
mAP是对多个类别的AP值进行平均,通常用于多类别目标检测任务。它提供了一个整体的性能评估。

计算步骤

  1. 计算每个类别的AP:对每个类别分别计算AP。
  2. 取平均:将所有类别的AP值取平均,得到mAP。

3. 应用

  • 目标检测:在如COCO、PASCAL VOC等数据集的评估中,mAP是常用的性能指标。
  • 信息检索:用于评估搜索引擎和推荐系统的效果。

4. 重要性

  • 综合性能评估:AP和mAP能够综合考虑模型在不同置信度阈值下的表现,提供更全面的性能评估。
  • 适应性强:适用于多类别和多标签问题,使其在实际应用中具有广泛的适用性。

5. 示例

假设我们有一个目标检测模型,检测到三种物体(如猫、狗、鸟),我们可以为每种物体计算AP,然后取平均值,得到mAP。例如:

  • 猫的AP = 0.75
  • 狗的AP = 0.85
  • 鸟的AP = 0.65

那么,mAP为:

mAP = 0.75 + 0.85 + 0.65 3 ≈ 0.75 \text{mAP} = \frac{0.75 + 0.85 + 0.65}{3} \approx 0.75 mAP=30.75+0.85+0.650.75

总结

AP和mAP是评估目标检测和信息检索模型性能的重要指标,能够有效反映模型在不同条件下的表现,帮助研究人员和工程师优化模型。

三、IoU(Intersection over Union)

定义:

IoU(Intersection over Union)是用于评估目标检测模型性能的一个重要指标。它衡量的是预测边界框与真实边界框之间的重叠程度,通常用于判断模型的预测是否准确。

1. 计算方法

在这里插入图片描述

IoU 的计算步骤如下:

  1. 计算重叠区域

    • 计算预测框(Predicted Box)和真实框(Ground Truth Box)之间的重叠区域(Intersection)。
  2. 计算联合区域

    • 计算预测框和真实框的并集区域(Union),即预测框和真实框的总面积。
  3. 计算 IoU

    • 使用以下公式计算 IoU:

IoU = Area of Intersection Area of Union = A ∩ B A ∪ B \text{IoU} = \frac{\text{Area of Intersection}}{\text{Area of Union}} = \frac{A \cap B}{A \cup B} IoU=Area of UnionArea of Intersection=ABAB

其中:

  • A A A 是预测框的面积。
  • B B B 是真实框的面积。
  • A ∩ B A \cap B AB 是重叠区域的面积。
  • A ∪ B A \cup B AB是预测框和真实框的并集面积。

2. 示例

假设我们有以下两个矩形框:

  • 真实框(Ground Truth Box):左下角 (1, 1),右上角 (4, 4)
  • 预测框(Predicted Box):左下角 (2, 2),右上角 (5, 5)
计算步骤:
  1. 计算重叠区域
    • 重叠区域的左下角是 (2, 2),右上角是 (4, 4),面积为:

Area of Intersection = ( 4 − 2 ) × ( 4 − 2 ) = 2 × 2 = 4 \text{Area of Intersection} = (4 - 2) \times (4 - 2) = 2 \times 2 = 4 Area of Intersection=(42)×(42)=2×2=4

  1. 计算联合区域
    • 真实框的面积:

Area of Ground Truth = ( 4 − 1 ) × ( 4 − 1 ) = 3 × 3 = 9 \text{Area of Ground Truth} = (4 - 1) \times (4 - 1) = 3 \times 3 = 9 Area of Ground Truth=(41)×(41)=3×3=9

  • 预测框的面积:

Area of Predicted Box = ( 5 − 2 ) × ( 5 − 2 ) = 3 × 3 = 9 \text{Area of Predicted Box} = (5 - 2) \times (5 - 2) = 3 \times 3 = 9 Area of Predicted Box=(52)×(52)=3×3=9

  • 并集区域的面积:

Area of Union = Area of Ground Truth + Area of Predicted Box − Area of Intersection = 9 + 9 − 4 = 14 \text{Area of Union} = \text{Area of Ground Truth} + \text{Area of Predicted Box} - \text{Area of Intersection} = 9 + 9 - 4 = 14 Area of Union=Area of Ground Truth+Area of Predicted BoxArea of Intersection=9+94=14

  1. 计算 IoU

IoU = 4 14 ≈ 0.286 \text{IoU} = \frac{4}{14} \approx 0.286 IoU=1440.286

3. IoU 的意义

  • 性能评估:IoU 是目标检测任务中常用的性能评估指标。它用于判断一个预测框是否可以被视为正确的检测(通常设定一个阈值,如 0.5)。
  • 阈值设置:不同的 IoU 阈值会影响模型的评估结果。例如,IoU ≥ 0.5 通常被视为一个成功的检测,而 IoU ≥ 0.3 则表示更宽松的标准。

4. 应用场景

  • 目标检测:在 COCO、PASCAL VOC 等数据集的评估中,IoU 是计算 mAP(mean Average Precision)的基础。
  • 实例分割:在实例分割任务中,IoU 用于评价分割结果的准确性。

5. 总结

IoU 是一个简单而有效的指标,用于量化预测框与真实框之间的重叠程度。它在目标检测和实例分割等计算机视觉任务中发挥着重要作用,帮助研究人员和工程师评估和优化模型性能。

四、mAP@0.3

 mAP@0.3 是一种用于目标检测模型评估的指标,表示在特定的 IoU(Intersection over Union)阈值下计算的 mAP(mean Average Precision)。具体来说,0.3 表示 IoU 阈值为 0.3。以下是详细解释:

mAP@0.3 的含义

  • mAP@0.3 表示在 IoU 阈值为 0.3 时计算的 mAP。这意味着:
    • 只要模型的预测结果与真实框的 IoU 大于或等于 0.3,就会被视为一个正确的检测(TP)。
    • 这种评估方式通常更宽松,因为 IoU 阈值较低,允许有更多的预测被认为是正确的。

应用场景

  • 目标检测:在如 COCO、PASCAL VOC 等数据集的评估中,mAP@0.3 可以用来快速评估模型的性能,尤其是在对检测精度要求不那么严格的场景下。

总结

mAP@0.3 是一个重要的性能指标,用于评估目标检测模型在较低重叠要求下的准确性。通过在不同的 IoU 阈值下计算 mAP,可以更全面地理解模型的性能。

五、在信息检索(retrieval)任务中,R@(Recall at k)是一个重要的评估指标,用于衡量模型在前 k 个检索结果中找到相关项的能力。

1. 定义

  • Recall at k (R@k)
    R@k 表示在返回的前 k 个结果中,相关项的比例。它的计算公式为:

R @ k = Number of Relevant Items in Top k Total Number of Relevant Items R@k = \frac{\text{Number of Relevant Items in Top k}}{\text{Total Number of Relevant Items}} R@k=Total Number of Relevant ItemsNumber of Relevant Items in Top k

2. 计算步骤

  1. 确定相关项

    • 对于给定的查询,确定所有相关的文档或项。
  2. 检索结果

    • 使用模型对查询进行检索,返回前 k 个结果。
  3. 计算 R@k

    • 统计前 k 个结果中有多少个是相关的,然后用这个数量除以总的相关项数量。

3. 示例

假设我们有一个查询,相关的文档总共有 5 个,而模型返回的前 10 个结果中,有 3 个是相关的。

  • 总的相关项:5
  • 前 10 个结果中的相关项:3

那么 R@10 为: R @ 10 = 3 5 = 0.6 R@10 = \frac{3}{5} = 0.6 R@10=53=0.6

4. 应用场景

  • 搜索引擎:评估搜索引擎在返回结果中的相关性。
  • 推荐系统:衡量推荐系统在前 k 个推荐中找到用户感兴趣项的能力。

5. 重要性

  • 用户体验:R@k 指标直接反映了用户在使用检索系统时的体验,前 k 个结果中包含相关项的比例越高,用户满意度通常越高。
  • 模型评估:在比较不同的检索模型时,R@k 是一个常用的性能指标,帮助研究人员理解模型的优缺点。

6. 总结

R@k 是信息检索任务中用于评估模型性能的重要指标,能够有效反映模型在返回结果中找到相关项的能力。通过不同的 k 值,可以全面评估检索系统的效果。

六、Prec@10 和 Acc@10 是两个不同的指标,它们在定义和计算上有显著区别。

1. 定义

  • Prec@10(Precision at 10):
    • 衡量的是在模型返回的前 10 个结果中,正确预测的比例。
    • 公式为:

Prec@10 = Number of Correct Predictions in Top 10 Total Number of Predictions in Top 10 \text{Prec@10} = \frac{\text{Number of Correct Predictions in Top 10}}{\text{Total Number of Predictions in Top 10}} Prec@10=Total Number of Predictions in Top 10Number of Correct Predictions in Top 10

  • Acc@10(Accuracy at 10):
    • 衡量的是在所有测试样本中,模型在前 10 个预测中至少有一个正确预测的比例。
    • 公式为:

Acc@10 = Number of Samples with at Least 1 Correct Prediction in Top 10 Total Number of Samples \text{Acc@10} = \frac{\text{Number of Samples with at Least 1 Correct Prediction in Top 10}}{\text{Total Number of Samples}} Acc@10=Total Number of SamplesNumber of Samples with at Least 1 Correct Prediction in Top 10

2. 计算方式

  • Prec@10

    • 计算的是在前 10 个结果中,正确预测的数量与总预测数量(通常是 10)之间的比例。
    • 更关注于前 10 个结果的精确度。
  • Acc@10

    • 计算的是在所有样本中,有多少样本在前 10 个结果中至少有一个正确的预测。
    • 更关注于模型在整个数据集上的表现。

3. 示例

假设有 5 个测试样本,模型的前 10 个预测结果如下:

  • 样本 1:真实标签是 A,前 10 个预测中有 A(正确)
  • 样本 2:真实标签是 B,前 10 个预测中有 C(错误)
  • 样本 3:真实标签是 C,前 10 个预测中有 C(正确)
  • 样本 4:真实标签是 A,前 10 个预测中有 B(错误)
  • 样本 5:真实标签是 B,前 10 个预测中有 B(正确)
计算 Prec@10
  • 正确预测数量:3(样本 1、3、5)
  • 总预测数量:5(每个样本都计算前 10 个预测)

Prec@10 = 3 5 = 0.6 \text{Prec@10} = \frac{3}{5} = 0.6 Prec@10=53=0.6

计算 Acc@10
  • 至少有一个正确预测的样本:3(样本 1、3、5)
  • 总样本数:5

Acc@10 = 3 5 = 0.6 \text{Acc@10} = \frac{3}{5} = 0.6 Acc@10=53=0.6

4. 应用场景

  • Prec@10:适用于需要评估前 10 个结果的精确度的场景,如推荐系统和搜索引擎。
  • Acc@10:适用于评估模型在整个数据集上表现的场景,特别是当关注每个样本至少有一个正确预测时。

5. 总结

  • Prec@10 关注前 10 个预测的精确度,而 Acc@10 关注所有样本中至少有一个正确预测的比例。
  • 两者在评估模型性能时提供了不同的视角,可以根据具体需求选择使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/55032.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端学习-css的元素显示模式(十五)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 什么是元素显示模式 块元素 常见的块元素 块元素的特点 注意 行内元素 行内元素的特点 注意 行内块元素 行内块元素的特点 元素显示模式的转换 语法格…

MySQL 删除数据库

1.使用命令行删除一个数据库 1.1 首先登陆进入 MySQL 操作界面,命令如下: 命令 : mysql -utest -p;1.2 登陆成功之后可以使用如下命令查看当前已有数据库: 命令 : SHOW DATABASES; 执行结果如下图: 如图所示当前已包含 MySQL 系统数据库和…

盛元广通化学实验室样品LIMS管理系统

盛元广通化学实验室样品LIMS管理系统旨在提高实验室样品管理的效率、准确性和可追溯性。通过自动化和智能化的手段,系统能够简化样品管理流程,减少人为错误,确保样品的安全性和完整性。样品管理的具体实施方法包括样品接收与登记、样品储存与…

「Ubuntu」文件权限说明(drwxr-xr-x)

我们在使用Ubuntu 查看文件信息时,常常使用 ll 命令查看,但是输出的详细信息有些复杂,特别是 类似与 drwxr-xr-x 的字符串,在此进行详细解释下 属主:所属用户 属组:文件所属组别 drwxr-xr-x 7 apps root 4…

基于SSM的商场鞋店管理系统的设计与实现

文未可获取一份本项目的java源码和数据库参考。 题目简介: 服装鞋帽在我国的国民经济的发展中有着重要的地位,是发展规模较为宏大的行业。随着我国制鞋企业的发展和规模的扩大,经营区域分散,传统的管理模式严重制约了企业的快速…

非洲秃鹫算法(AVOA)的MATLAB代码复现

目录 1 非洲秃鹫算法优化BP神经网络代码复现 2 非洲秃鹫算法优化支持向量机代码复现 3 非洲秃鹫算法优化长短期记忆神经网络代码复现 1 非洲秃鹫算法优化BP神经网络代码复现 1)单输出回归预测:单输出回归预测:非洲秃鹫算法优化BP神经网络…

华为Eth-trunk链路聚合加入到E-trunk实现跨设备的链路聚合

一、适用场景(注:e-trunk与eth-trunk是2个不同的概念) 1、企业中有重要的server服务器业务不能中断的情况下,可将上行链路中的汇聚交换机,通过eth-trunk链路聚合技术,实现链路故障后,仍有可用的…

灵当CRM data/pdf.php 任意文件读取漏洞复现

0x01 产品简介 灵当CRM是一款专为中小企业打造的智能客户关系管理工具,由上海灵当信息科技有限公司开发并运营。广泛应用于金融、教育、医疗、IT服务、房地产等多个行业领域,帮助企业实现客户个性化管理需求,提升企业竞争力。无论是新客户开拓、老客户维护,还是销售过程管…

vue3 高德地图标注(飞线,呼吸点)效果

装下这两个 npm 忘了具体命令了&#xff0c;百度一下就行 “loca”: “^1.0.1”, “amap/amap-jsapi-loader”: “^1.0.1”, <template><div id"map" style"width: 100%;height: 100%;"></div> </template><script setup> …

Cesium 区域高程图

Cesium 区域高程图 const terrainAnalyse new HeightMapMaterial({viewer,style: {stops: [0, 0.05, 0.5, 1],//颜色梯度设置colors: [green, yellow, blue , red],}});

NVIDIA Bluefield DPU上的启动流程4个阶段分别是什么?作用是什么?

文章目录 Bluefield上的硬件介绍启动流程启动流程&#xff1a;eMMC中的两个存储分区&#xff1a;ATF介绍ATF启动的四个阶段&#xff1a; 四个主要步骤&#xff1a;各个阶段依赖的启动文件 一次烧录fw失败后的信息看启动流程综述 Bluefield上的硬件介绍 本文以Bluefield2为例&a…

计算机是如何输入存储输出汉字、图片、音频、视频的

计算机是如何输入存储输出汉字、图片、音频、视频的 为了便于理解&#xff0c;先了解一下计算机的组成。 冯诺依曼计算机的五大组成部分。分别是运算器、控制器、存储器、输入设备和输出设备。参见下图&#xff1a; 一、运算器 运算器又称“算术逻辑单元”&#xff0c;是计算…

SQLI LABS | SQLI LABS 靶场初识

关注这个靶场的其它相关笔记&#xff1a;SQLI LABS —— 靶场笔记合集-CSDN博客 0x01&#xff1a;SQLI LABS 靶场简介 SQLi-Labs 靶场是一个专门用于学习和测试 SQL 注入漏洞的开源靶场&#xff0c;该靶场提供了多个具有不同漏洞类型和难度级别的 Web 应用程序的环境。这些应用…

Facebook减肥产品广告投放攻略

有不少刚开始投放facebook广告的小伙伴会感到疑惑&#xff0c;为什么别人的减肥产品跑的风生水起&#xff0c;销量羡煞旁人&#xff0c;自己的广告要不就是被拒要不就是没有流量&#xff0c;甚至还可能被封号&#xff0c;如果你也有这样的困扰&#xff0c;那一定要看完这篇文章…

图片颜色通道提取

目录 读取和显示图像分离和合并颜色通道通道分离显示总结 读取和显示图像 import cv2def img_show(name, img):"""显示图片:param name: 窗口名字:param img: 图片对象:return: None"""cv2.imshow(name, img)cv2.waitKey(0)cv2.destroyAllWindow…

机器视觉AI场景为什么用Python比C++多?

好多开发者在讨论机在机器视觉人工智能领域的时候&#xff0c;纠结到底是用Python还是C&#xff0c;实际上&#xff0c;Python 和 C 都有广泛的应用&#xff0c;选择 Python而不是 C 可能有以下一些原因&#xff1a; 语言易学性和开发效率 语法简洁&#xff1a; Python 语法简…

基于协同过滤的景区旅游可视化与景区推荐系统(自动爬虫,地点可换)

文章目录 有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主项目介绍过程展示项目移植每文一语 有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主 项目介绍 本项目是一个综合性的旅游景区数据管理与分析推荐系统,集成了用…

《深度学习》OpenCV 风格迁移、DNN模块 案例解析及实现

目录 一、风格迁移 1、什么是风格迁移 2、步骤 1&#xff09;训练 2&#xff09;迁移 二、DNN模块 1、什么是DNN模块 2、DNN模块特点 1&#xff09;轻量 2&#xff09;外部依赖性低 3&#xff09;方便 4&#xff09;集成 5&#xff09;通用性 3、流程图 4、图像…

postman变量,断言,参数化

环境变量 1.创建环境变量 正式环境是错误的&#xff0c;方便验证环境变化 2.在请求中添加变量 3.运行前选择环境变量 全局变量 能够在任何接口访问的变量 console中打印日志 console.log(responseBody);//将数据解析为json格式 var data JSON.parse(responseBody); conso…

linux上的smb共享文件夹

需求描述 公司的打印机使用扫描功能的时候&#xff0c;需要发送大量文件。然鹅公司的电脑都是加入了AzureAD的&#xff0c;不能在公司电脑上简单设置共享。好在公司有很多阿里云上的服务器&#xff0c;Linux和Windows的都有&#xff0c;所以就来尝试用阿里云的服务器来进行smb…