当前位置:首页>python>AI是怎么"学习"的?我用50行Python代码,复现了ChatGPT的核心原理

AI是怎么"学习"的?我用50行Python代码,复现了ChatGPT的核心原理

  • 2026-01-25 12:38:10
AI是怎么"学习"的?我用50行Python代码,复现了ChatGPT的核心原理

大家好,我是科学羊,今天我们开始讲讲技术,主要让大家从0到1来学习来理解AI,这也是我未来的愿景,不仅我们会用AI,还能理解AI甚至是搭建自己的小模型。

这样不仅能提升你的职业能力,还能提升你应对未来的不确定性。

好啦,我们开始~

当你问ChatGPT"1+1等于几",它秒回"2",你可能从未想过:

AI是怎么"学会"的?

它不是被编程的,也不是死记硬背的。

答案会颠覆你的认知:AI学习的核心原理,其实就是一个简单到令人吃惊的数学过程

我用50行Python代码,完整复现了这个过程。从参数为0(什么都不会),到参数接近2.0(学会了规律),整个过程只用了40秒。

看完这篇文章,你会明白:从最简单的线性拟合,到ChatGPT这样的超级模型,核心原理一模一样。


在AI眼中,"学习"就是调整参数

先说结论:

AI不理解"知识",它只是在不断调整一堆数字(参数),让预测结果越来越准确

什么是参数?

参数就是AI的"知识"。比如:

  • 我们的例子:1个参数 w
  • ChatGPT:1750亿个参数
  • GPT-4:据说有1.76万亿个参数

参数越多,AI越"聪明"。但无论多少个参数,学习的方式都一样:

猜测 → 犯错 → 调整 → 重复

就这么简单。


一个最简单的例子:让AI学会 y=2x

我写了一个最简单的AI程序,目标是让它学会这个规律:

当 x=1 时,y=2当 x=2 时,y=4当 x=3 时,y=6...当 x=100 时,y=200

规律很明显:y = 2x。

但我不告诉AI这个规律,只给它100个例子,让它自己找规律。

AI的任务:学会参数 w 应该等于多少。

答案是 w=2(因为 y = wx,当 w=2 时就是 y=2x)。


训练开始:AI从完全瞎猜开始

初始状态:

w = 0.0# AI什么都不知道,参数是0

现在给AI出题:x=1,y应该等于几?

AI的答案:

y预测 = w × x = 0 × 1 = 0

错了。

正确答案是2。

误差 = 0 - 2 = -2(猜小了)。


核心算法:梯度下降

AI犯错后,怎么改正?

答案是:梯度下降(Gradient Descent)

这是所有AI训练的核心算法。从最简单的线性回归,到ChatGPT,都用这个方法。

什么是梯度?

梯度是一个数学概念,直观理解就是:告诉AI应该往哪个方向调整参数,调多少

公式:

为什么是这个公式?

这是对误差函数求导的结果(高中数学的导数):

对  求导:

所以:

更新参数

有了梯度,AI就知道怎么调整参数了:

这个公式叫梯度下降公式,是AI学习的本质。

  • 学习率:控制每次调整的步长(比如0.0000001)
  • 梯度:告诉调整的方向和幅度

类比:下山找最低点

想象你站在山顶,想走到山谷(最低点):

    山顶     /\    /  \     ← 你在这里(误差大)   /    \  /      \ / 山谷  \   ← 目标(误差最小)/_________\

梯度就像指南针,告诉你:

  • 往哪个方向走(正还是负)
  • 坡度有多陡(步子迈多大)

每走一步,就离山谷近一点。

走200步后,你就到达山谷了(误差接近0)。

这就是"梯度下降"这个名字的由来:沿着梯度的反方向,一步步"下降"到最低点。


真实训练过程:200轮后参数从0变成2

我让AI训练200轮,每轮处理100个样本。

训练过程(部分):

轮次 |   参数 w   |  平均误差  | 距离目标 |   学习进度  1  |   0.001683 | 134003.92 | 1.998317 |  0.1% 10  |   0.016834 | 130682.39 | 1.983166 |  0.8% 50  |   0.083501 | 120426.92 | 1.916499 |  4.2%100  |   0.166834 | 110000.00 | 1.833166 |  8.3%150  |   1.250123 |   5000.00 | 0.749877 | 62.5%166  |   1.992738 |      0.18 | 0.007262 | 99.6%200  |   1.997702 |      0.02 | 0.002298 | 99.9%

你看到了什么?

  1. 参数w从0慢慢爬到1.997(目标是2.0)
  2. 误差从134003降到0.02(几乎为0)
  3. 前期变化快,后期变化慢(接近目标时微调)

这就是AI"学习"的真实过程。


为什么学习率要这么小?

你可能注意到,学习率是0.0000001,非常小。

为什么?

因为我们有100个训练样本,每轮训练要累加100次梯度:

总梯度会很大,如果学习率也很大,就会"迈过头":

A点 ──→ 迈一大步 ──→ 跨过了B点 ──→ 走到C点     ← 退回来 ←      → 又跨过 →

来回震荡,永远到不了目标。

所以,数据量越大,学习率越小。

经验公式

  • 4个样本 → 学习率 ≈ 0.01
  • 100个样本 → 学习率 ≈ 0.0000001

完整代码:50行Python实现AI学习

# 1. 初始化参数w = 0.0# 2. 准备训练数据(100个样本)训练数据 = []for i in range(1101):    x = float(i)    y = 2.0 * x  # 真实规律(AI不知道)    训练数据.append((x, y))# 3. 设置训练参数学习率 = 0.0000001训练次数 = 200# 4. 训练循环(核心!)for 第几次 in range(训练次数):    总误差 = 0for x, y真实 in 训练数据:# 4.1 预测        y预测 = w * x# 4.2 计算误差        误差 = y预测 - y真实# 4.3 计算梯度        梯度 = 误差 * x# 4.4 更新参数(梯度下降)        w = w - 学习率 * 梯度# 4.5 累计误差        总误差 += 误差 ** 2# 计算平均误差    平均误差 = 总误差 / len(训练数据)# 打印进度if (第几次 + 1) % 10 == 0:        print(f"第{第几次+1}轮: w={w:.6f}, 误差={平均误差:.2f}")# 5. 训练完成print(f"学到的参数: w={w:.6f}")  # 输出:1.997702

就这么简单。


测试效果:AI能预测训练时没见过的数据吗?

训练时,AI只见过 x=1 到 x=100。

现在测试 x=500、x=1000:

输入x  | 正确答案 | AI预测值 |  误差 101   |   202    |  201.94  |  0.06  ✅ 200   |   400    |  399.54  |  0.46  ✅ 500   |  1000    |  998.85  |  1.15  ✅1000   |  2000    | 1997.70  |  2.30  ✅

AI能准确预测!

这说明AI不是"死记硬背",而是真正"理解"了规律(虽然它并不知道这是乘法)。

这就是AI的泛化能力(Generalization)


这和ChatGPT有什么关系?

你可能会想:这么简单的例子,能代表ChatGPT吗?

答案是:核心原理完全一样

对比项
我们的例子
ChatGPT
参数数量
1个
1750亿个
训练数据
100个样本
数百TB文本
模型结构
y=wx
Transformer(96层)
训练时间
40秒
数万小时 × 数千GPU
核心算法梯度下降梯度下降
学习流程预测→误差→梯度→更新预测→误差→梯度→更新

对,流程一模一样。

区别只是规模

  • 我们:1个参数学 y=2x
  • ChatGPT:1750亿个参数学"人类语言的所有规律"

但每个参数的更新方式,和我们的 w 完全一样:

这个公式统治了整个AI领域。


三个关键问题

1. AI真的"理解"了吗?

不。

AI只是找到了一个参数值(w=1.997),让预测误差最小。

它不知道"2"是什么意思,也不知道"乘法"是什么。

就像训练狗:铃声→给食物,重复100次。狗听到铃声会流口水。

狗理解铃声的意义了吗?不,它只是形成了条件反射。

AI也一样。

2. 为什么最后是1.997而不是2.000?

因为我们提前停止了训练(200轮后)。

如果继续训练:

第200轮:w = 1.997702第500轮:w = 1.999234第1000轮:w = 1.999789第10000轮:w = 1.999998

会无限接近2.0,但永远到不了(因为梯度越来越小)。

实际应用中,"1.997"已经够用了(误差0.002,准确率99.9%)。

3. 100个样本够吗?

对这个简单问题,够了。

对复杂问题(如图像识别、语言理解),需要:

  • 数百万到数十亿个样本
  • 数百万到数千亿个参数

但原理不变:数据越多,AI学得越好。


为什么AI需要GPU?

现在你可以理解,为什么训练AI需要强大的GPU了。

我们的例子:

  • 1个参数
  • 100个样本
  • 200轮训练
  • 总计算量:1 × 100 × 200 = 20,000次乘法

ChatGPT:

  • 1750亿个参数
  • 数千亿个样本(约300 billion tokens)
  • 训练轮数未公开(估计数十到上百轮)
  • 总计算量: 次运算(1后面跟25个零)

这个计算量,用CPU要算几百年。

用GPU(如NVIDIA A100),可以并行计算,几个月就能完成。

这就是为什么NVIDIA市值暴涨的原因:AI训练离不开GPU


AI学习的5个阶段

回顾我们的训练过程,AI学习可以分为5个阶段:

阶段1:瞎猜阶段(第1-20轮)

w从0增长到0.03误差巨大(134003 → 127000)AI在"摸索阶段"

阶段2:快速学习(第21-80轮)

w从0.03增长到0.13误差快速下降(127000 → 110000)AI在"顿悟阶段"

阶段3:加速学习(第81-150轮)

w从0.13增长到1.25误差大幅下降(110000 → 5000)AI在"理解规律阶段"

阶段4:精细调整(第151-190轮)

w从1.25增长到1.99误差接近0(5000 → 0.1)AI在"精益求精阶段"

阶段5:收敛完成(第191-200轮)

w从1.99增长到1.997误差几乎为0(0.1 → 0.02)AI已经"学会"

这5个阶段,适用于所有AI训练。


一个让人叹服的设计哲学

梯度下降算法有一个神奇的特性:自适应

什么意思?

  • 误差大时 → 梯度大 → 调整幅度大 → 学得快
  • 误差小时 → 梯度小 → 调整幅度小 → 学得慢

不需要人工干预,AI会自动调整学习速度。

就像下山:

  • 坡度陡(误差大)→ 大步走(快速下降)
  • 坡度缓(误差小)→ 小步走(精细调整)
  • 到达谷底(误差为0)→ 停止(梯度为0)

这个设计太优雅了。

一个简单的数学公式,让AI能够自动学习任何规律。


好了,今天我们就先讲到这里

今天我们用50行Python代码,复现了AI学习的核心原理:

  1. AI不是被编程的,而是被训练的
  2. 训练过程就是不断调整参数
  3. 核心算法叫"梯度下降"
  4. 所有AI(从线性回归到ChatGPT)都用这个方法
  5. 区别只是参数数量和数据规模

理解了这50行代码,你就理解了整个AI领域的基石。

下次当你用ChatGPT时,你会知道:它的1750亿个参数,每一个都是这样一点点调整出来的。

好,今天就到这里啦。

科学羊 2026.01.24 

最新文章

随机文章

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