乐于分享
好东西不私藏

AI 不是只给答案,更要会说“我不确定”

AI 不是只给答案,更要会说“我不确定”

AI 不是只给答案,更要会说“我不确定”

共形预测如何提升颅内出血 CT 模型可信度

颅内出血是急诊影像中需要快速识别的高风险情况。

深度学习模型已经可以在头颅 CT 上完成出血检测和分类,但临床真正关心的问题,并不只是模型“准不准”。

更关键的是:模型什么时候值得信?什么时候应该主动提醒医生“这张图我不确定,需要复核”?

2025 年发表在 Radiology: Artificial Intelligence 的这篇研究,把 Mondrian conformal prediction(Mondrian 共形预测,MCP)加入颅内出血检测模型,尝试让 AI 不只是输出答案,也能表达不确定性。


一句话读懂

这项研究用 YOLOv8 训练颅内出血检测模型,再用 Mondrian 共形预测进行校准。

模型在确定病例上保持较高检测表现,定位和分类 F1 score 约为 0.919

更重要的是,它能以 95.3%(143/150) 的准确率识别医生意见不一致的疑难病例,并且没有把确定测试切片误标为疑难病例。


研究背景

颅内出血(intracranial hemorrhage, ICH)可能危及生命。

深度学习已经被用于自动检测 ICH,但传统模型通常只给出类别和置信度分数。

问题在于,这个置信度并不总是等于临床可相信的概率。模型看起来“很自信”,不代表它真的可靠。

论文作者认为,要让放射科 AI 更可信,模型必须能识别并表达自己的不确定性。


研究目的

研究目标有两个:

  1. 1. 将 Mondrian 共形预测应用到颅内出血深度学习检测模型中。
  2. 2. 评估模型在出血检测、定位、分类,以及识别疑难病例方面的表现。

这里的“疑难病例”定义很清楚:3 位资深放射科医生对某类出血是否存在没有达成一致。

这类病例更贴近真实临床中的边界场景。


研究怎么做

研究使用 CQ500 非增强头颅 CT 数据集。

研究者先排除 29 个由 3 位读者均判定无 5 类出血的 CT 扫描,作为阴性对照组。

其余病例被分成两类:

  • • 确定病例:3 位读者意见一致,共 146 例
  • • 疑难病例:读者之间存在分歧,共 150 例

模型基于 YOLOv8,用于定位和分类 5 类颅内出血:

  • • IPH:脑实质内出血
  • • IVH:脑室内出血
  • • SDH:硬膜下出血
  • • EDH:硬膜外出血
  • • SAH:蛛网膜下腔出血

训练完成后,研究者用 1546 个确定病例切片进行 MCP 校准。

校准后的模型再用于确定测试集、疑难病例集、阴性对照集,以及 RSNA 2019 Brain CT Hemorrhage Challenge 外部测试集。


图 1:数据纳入、排除和拆分流程

图 1 中文精译

左侧为 CQ500 数据集,共 491 个 CT 扫描

根据扫描级标签和切片级标注,研究者将数据整理为训练、调参、校准、测试、疑难病例和阴性对照等不同子集。

主要流程如下:

  • • CQ500 数据集:491 个扫描
  • • 扫描标签中,阳性 246 个扫描,阴性 245 个扫描
  • • 没有边界框的 29 个扫描被排除并用于阴性评估控制
  • • 切片标注中,阳性 226 个扫描,阴性 265 个扫描
  • • 读者意见一致者进入确定数据集,共 146 个扫描
  • • 读者意见不一致者进入疑难数据集,其中主要疑难集 145 个扫描,另有 5 个“有边界框但无扫描级标签”的扫描,共构成 150 个疑难病例
  • • 确定数据集进一步拆分为训练集 10815 个切片、调参集 1546 个切片、校准集 1546 个切片、测试集 1545 个切片
  • • 疑难数据集包含 6856 个切片
  • • 阴性对照集包含 82321 个切片

右侧为 RSNA 数据集,共 674254 个切片

经过 DICOM 转 PNG 后,成功转换 652601 个切片。其中阳性 93918 个切片,阴性 558583 个切片。研究者从阴性切片中随机抽样 93918 个,与阳性切片合并,形成 187836 个切片 的外部验证集。

临床含义

这张图的重点不是样本数量本身,而是研究者把“医生意见一致”和“医生意见不一致”分开处理。这样才能检验模型是否能识别真正难判断的病例,而不只是刷标准病例上的准确率。


共形预测到底做了什么

普通模型通常给出一个答案。

共形预测更像是给出一个“答案集合”。

当模型很确定时,集合可以很小;当模型不确定时,集合会变大,甚至同时包含“有某类出血”和“没有某类出血”。

这不是模型变笨,而是模型在告诉医生:这里有不确定性。


图 2:Mondrian 共形预测流程

图 2 中文精译

这张图展示了本文中 Mondrian 共形预测的核心逻辑。

上方为校准数据集。示意图中,校准集样本数为 n = 13。

模型先对每个校准样本计算“启发式不确定性值”(heuristic notion of uncertainty, HNU),并分别建立不同类别的有序列表。

示例中展示了 IPH 和 IVH 的“存在”和“不存在”两类列表:

  • • IPH 存在
  • • IPH 不存在
  • • IVH 存在
  • • IVH 不存在

下方为测试样本。

对于测试样本,模型得到:

  • • IPH 存在 HNU = 0.875
  • • IPH 不存在 HNU = 0.125
  • • IVH 存在 HNU = 0.300
  • • IVH 不存在 HNU = 0.700

随后将测试样本的 HNU 插入校准集排序列表,得到插入位置 i,再除以校准集大小 n,形成共形分数 P。

图中示例:

  • • IPH 存在:P = 2/13 = 0.154
  • • IPH 不存在:P = 10/13 = 0.769
  • • IVH 存在:P = 0/13 = 0.000
  • • IVH 不存在:P = 12/13 = 0.923

临床含义

这一步相当于把模型输出重新放回校准数据分布中比较,而不是直接相信模型自己的置信度。它让“不确定性”有了更可解释的统计参照。


图 3:从候选框到预测集合

图 3 中文精译

图中展示了预测框聚类和非极大值抑制算法。

颜色含义:

  • • 橙色:IPH,脑实质内出血
  • • 黄色:IVH,脑室内出血
  • • 红色:SDH,硬膜下出血
  • • 绿色:EDH,硬膜外出血
  • • 蓝色:SAH,蛛网膜下腔出血

6 个步骤如下:

  • • Step 1:保留所有初始预测框。
  • • Step 2:为每一类出血选择置信度最高的预测框。
  • • Step 3:根据每个预测框之间的 IoU 计算形成聚类。示例中 C4 同时包含 IVH 和 SDH。
  • • Step 4:重新检查过滤前的预测框,把与聚类边界框 IoU 达到阈值的预测框放入相应聚类。
  • • Step 5:在每个聚类、每个类别内保留置信度最高的预测框。
  • • Step 6:对每个聚类中的每个预测计算 P 值,并形成最终预测集合。

示例结果:

  • • Cluster 1:{EDH, No EDH, SDH}
  • • Cluster 2:空集合
  • • Cluster 3:{IPH}
  • • Cluster 4:{SAH}

其中 Cluster 1 同时包含 EDH 和 No EDH,提示模型对硬膜外出血是否存在不确定。

临床含义

这张图最值得看的地方,是模型不再被迫只输出一个单点答案。它可以把候选诊断组织成“预测集合”,并通过集合内部的矛盾提示不确定病例。


表 1:各数据集中不同出血类型的频数

出血类型
训练集
调参集
校准集
测试集
疑难病例集
IPH 脑实质内出血
4743
664
664
683
732
IVH 脑室内出血
1415
219
208
187
407
SDH 硬膜下出血
3183
432
466
451
4251
EDH 硬膜外出血
273
40
40
39
174
SAH 蛛网膜下腔出血
5237
754
765
745
3557
合计
14581
2109
2143
2105
9121

注:数据为出血灶数量。一个切片可包含多种出血。

临床含义

疑难病例集中 SDH 和 SAH 数量较多,提示疑难样本并不是简单均匀分布在所有类别中。模型在疑难病例上的表现下降,也可能与这些类别分布和病灶复杂性有关。


表 2:各数据集在 IoU 0.95 阈值下的 mean average precision

出血类型
训练集
调参集
校准集
测试集
疑难病例集
IPH 脑实质内出血
0.979
0.861
0.876
0.873
0.0492
IVH 脑室内出血
0.958
0.804
0.798
0.851
0.040
SDH 硬膜下出血
0.976
0.891
0.880
0.884
0.0538
EDH 硬膜外出血
0.964
0.889
0.877
0.867
0.0379
SAH 蛛网膜下腔出血
0.980
0.837
0.842
0.864
0.00659
综合
0.972
0.856
0.855
0.868
0.0375

注:IoU = 交并比。

临床含义

模型在确定测试集上的综合 mAP 为 0.868,但在疑难病例集上降至 0.0375。这说明疑难病例确实是模型能力边界所在,也支持作者把“识别疑难”作为可信度评估重点。


图 4:内部测试中 TP、FP、TN、FN 的定义

图 4 中文精译

该图说明了模型内部评估时使用的 3 种混淆矩阵定义。

Matrix A:只评价定位。

  • • TP:存在一个预测框,其与真实标注框的 IoU 大于或等于阈值。
  • • FP:存在一个预测框,其与所有真实标注框的 IoU 都小于阈值。
  • • TN:不存在任何与真实标注框 IoU 达到阈值的预测框。
  • • FN:存在一个真实标注框,其与所有预测框的 IoU 都小于阈值。

Matrix B:同时评价分类和定位。

  • • TP:存在一个预测框,其与真实标注框的 IoU 大于或等于阈值,且预测标签与真实标签一致。
  • • FP:包括两类情况。第一,预测框与所有真实标注框的 IoU 都小于阈值;第二,预测框与某个真实标注框 IoU 达到阈值,但预测标签与真实标签不一致,并且不存在其他预测框既达到 IoU 阈值又标签一致。
  • • TN:包括两类情况。第一,不存在与任何真实标注框 IoU 达到阈值的预测框;第二,存在一个真实标注框,但不存在与其 IoU 达到阈值且标签一致的预测框。
  • • FN:包括两类情况。第一,存在一个真实标注框,其与所有预测框 IoU 都小于阈值;第二,存在一个真实标注框,但不存在与其 IoU 达到阈值且标签一致的预测框。

Matrix C:评价精确分类和定位。

  • • TP:存在一个预测框,其与真实标注框 IoU 达到阈值,预测标签与真实标签一致,并且不存在其他预测框同时与该真实标注框 IoU 达到阈值但标签不一致。
  • • FP:包括两类情况。第一,预测框与所有真实标注框 IoU 都小于阈值;第二,预测框与某个真实标注框 IoU 达到阈值,但预测标签与真实标签不一致,或不存在其他满足 IoU 阈值且标签一致的预测框。
  • • TN:不适用。
  • • FN:不适用。

临床含义

作者不是只看“有没有框”,而是区分定位、分类+定位、精确分类+定位。这种拆分有助于判断模型错在“位置不准”,还是“病灶类型判断错”。


图 5:外部验证中 TP、FP、TN、FN 的定义

图 5 中文精译

外部验证集没有边界框标注,因此评估不再考察定位,只考察分类。

Classification:分类评估。

  • • TP:预测集合中存在一个标签与真实标签一致的预测。
  • • FP:预测集合中存在一个标签与任何真实标签都不一致的预测。
  • • TN:预测集合中不存在任何不属于真实标签的标签。
  • • FN:存在一个真实标签,但预测集合中没有任何预测标签与之对应。

Exact Classification:精确分类评估。

  • • TP:预测集合中所有标签都是真实标签,且预测集合长度与真实标签集合长度完全一致。
  • • FP:预测集合中所有标签都不等于真实标签,且预测集合长度大于或等于真实标签集合长度。
  • • TN:真实标签和预测集合长度均为 0。
  • • FN:不适用。

临床含义

外部验证只检验分类能力,不检验定位能力。因此外部测试的结果不能完全替代真实临床部署评估,尤其不能说明模型框选病灶的空间准确性。


表 3:测试集和疑难病例集的混淆矩阵与衍生指标

数据集/指标
Matrix A
Matrix B
Matrix C
测试集 TP
1952
1950
347
测试集 FP
187
187
30
测试集 TN
1358
1358
-
测试集 FN
153
155
-
测试集敏感度
92.7%(1952/2105)
92.6%(1950/2105)
-
测试集特异度
87.9%(1358/1545)
87.9%(1358/1545)
-
测试集 PPV
91.3%(1952/2139)
91.2%(1950/2137)
92.0%(347/377)
测试集 NPV
89.9%(1358/1511)
89.8%(1358/1513)
-
测试集 F1
0.920
0.919
-
疑难病例集 TP
1325
1325
15
疑难病例集 FP
2222
2222
107
疑难病例集 TN
4634
4634
-
疑难病例集 FN
7796
7796
-
疑难病例集敏感度
14.5%(1325/9121)
14.5%(1325/9121)
-
疑难病例集特异度
67.6%(4634/6856)
67.6%(4634/6856)
-
疑难病例集 PPV
37.4%(1325/3547)
37.4%(1325/3547)
12.3%(15/122)
疑难病例集 NPV
37.3%(4634/12430)
37.3%(4634/12430)
-
疑难病例集 F1
0.209
0.209
-

注:Matrix A/B 阈值按 AUC 优化;Matrix C 阈值按 PPV 优化。

临床含义

确定测试集上的 F1 约为 0.92,疑难病例集上的 F1 降至 0.209。这不是失败,而是说明疑难病例确实困难。关键在于模型能不能把这些病例标出来,交给医生重点复核。


表 4:阴性对照集和外部测试集性能

指标
Matrix A/B 阈值
Matrix C 阈值
阴性对照 TN
61637
82074
阴性对照 FP
20684
247
阴性对照特异度
74.9%(61637/82321)
99.7%(82074/82321)
外部测试-分类 TP
131994
94225
外部测试-分类 FP
60088
839
外部测试-分类 TN
127748
186997
外部测试-分类 FN
55842
93611
外部测试-分类敏感度
70.3%(131994/187836)
50.2%(94225/187836)
外部测试-分类特异度
68.0%(127748/187836)
99.6%(186997/187836)
外部测试-分类 PPV
68.7%(131994/192082)
99.1%(94225/95064)
外部测试-分类 NPV
69.6%(127748/183590)
66.6%(186997/280608)
外部测试-分类 F1
0.695
0.666
外部测试-精确分类 TP
27295
302
外部测试-精确分类 FP
43934
668
外部测试-精确分类 TN
60284
93624
外部测试-精确分类特异度
57.8%(60284/104218)
99.3%(93624/94292)
外部测试-精确分类 PPV
38.3%(27295/71229)
31.1%(302/970)

临床含义

Matrix C 阈值显著提高特异度和 PPV,但牺牲敏感度。临床上这提示阈值选择需要结合使用场景:筛查更重视敏感度,确认性提示更重视特异度和 PPV。


图 6:TP、FP、TN、FN 示例

图 6 中文精译

图中用可视化方式展示了 3 种混淆矩阵下的真阳性、假阳性、真阴性和假阴性示例。

Matrix A 主要看定位,预测框只要与真实框达到 IoU 阈值即可。

Matrix B 同时看定位和类别,预测框位置正确但类别不对时会影响判定。

Matrix C 更严格,要求预测框位置和类别都精确匹配,且不能有额外错误标签。

缩写:

  • • EDH:硬膜外出血
  • • IPH:脑实质内出血
  • • IVH:脑室内出血
  • • SAH:蛛网膜下腔出血
  • • SDH:硬膜下出血
  • • N/A:不适用

临床含义

同一个预测结果,在不同评价标准下可能对应不同错误类型。理解评价标准,才能正确解读模型性能。


最核心结果:它能识别疑难病例

模型在确定测试集上表现较好。

在 Matrix B,也就是分类和定位联合评价中,测试集 F1 score 为 0.919

但疑难病例的常规检测性能明显下降。疑难病例集 F1 score 只有 0.209

真正有意思的是,模型用 MCP 后,可以把疑难病例识别出来。

模型正确识别出 95.3%(143/150) 的疑难病例患者。

同时,它没有把任何确定测试切片误标记为疑难病例。


图 7:疑难病例示例

图 7 中文精译

该图展示了一个疑难病例中,深度学习模型预测结果与参考标准之间的差异。

左侧为模型预测:

  • • IPH:脑实质内出血
  • • SDH:硬膜下出血

右侧为参考标准:

  • • 读者 1:IPH
  • • 读者 2:IPH
  • • 读者 3:IPH 和 SAH

图中红框表示 IPH 或 SAH,蓝框表示 SDH。

临床含义

这个病例的关键不是模型“猜错了哪一类”,而是放射科医生之间本身也存在分歧。对这类病例,模型如果能提示“不确定”,临床价值可能比强行给出单一答案更大。


这篇文章为什么值得看

医学影像 AI 的临床落地,不能只靠平均准确率。

平均指标很好看,不代表每一张片子都可靠。

尤其在颅内出血这种高风险场景中,模型需要知道自己的能力边界。

这篇论文提供了一个比较清晰的技术路线:

用深度学习模型做检测,用共形预测校准不确定性,再把疑难病例标出来给医生重点复核。

这比单纯输出“阳性/阴性”更接近真实临床需求。


需要谨慎的地方

这项研究也有明显限制。

第一,模型处理的是二维 CT 切片,不是完整三维体数据,因此不能直接等同于当前 PACS 工作流中的三维阅片。

第二,研究主要基于回顾性公开数据集。外部测试有价值,但仍不能替代真实世界前瞻性验证。

第三,论文没有系统分析数据偏倚或模型偏倚。对于医学 AI 来说,这一点仍然重要。

第四,外部测试集中没有边界框,因此外部验证只评价分类,不评价定位。

所以,这篇研究更适合理解为“可信医学 AI 的一个方向”,而不是某个模型已经可以独立用于临床诊断。


小结

这篇论文最值得记住的一句话是:

可信 AI 不只是更准,还要更诚实。

一个真正有临床价值的模型,不应该只在自己擅长的病例上表现好。

它还应该在遇到边界病例、困难病例、分歧病例时,主动告诉医生:这里需要谨慎。

共形预测提供的,正是这种“不确定性表达”的可能性。


参考文献

Gamble C, Faghani S, Erickson BJ. Applying Conformal Prediction to a Deep Learning Model for Intracranial Hemorrhage Detection to Improve Trustworthiness. Radiology: Artificial Intelligence. 2025;7(2):e240032. doi:10.1148/ryai.240032.

— 医文笔记小小侠 | 大龄医学博士在读 · 二孩爸爸 — 慢慢读,慢慢积累。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-21 23:01:37 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/780019.html
  2. 运行时间 : 0.104517s [ 吞吐率:9.57req/s ] 内存消耗:5,269.11kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=36421070e9be4af1cd652c53c5305170
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000564s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000698s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000368s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.002542s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000504s ]
  6. SELECT * FROM `set` [ RunTime:0.000201s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000508s ]
  8. SELECT * FROM `article` WHERE `id` = 780019 LIMIT 1 [ RunTime:0.000515s ]
  9. UPDATE `article` SET `lasttime` = 1782054097 WHERE `id` = 780019 [ RunTime:0.003150s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000235s ]
  11. SELECT * FROM `article` WHERE `id` < 780019 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.002001s ]
  12. SELECT * FROM `article` WHERE `id` > 780019 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000639s ]
  13. SELECT * FROM `article` WHERE `id` < 780019 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002965s ]
  14. SELECT * FROM `article` WHERE `id` < 780019 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.010975s ]
  15. SELECT * FROM `article` WHERE `id` < 780019 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.003911s ]
0.106197s