当前位置:首页>学习笔记>神经网络从小白到专家学习笔记

神经网络从小白到专家学习笔记

  • 2026-02-27 23:52:49
神经网络从小白到专家学习笔记

01前言

人类拥有技能的轨迹是通过理论+实践修得的。

理论获取路线大体也分两步:一、事物概念;二、事物联系。

实践就是通过动手来验证理论并内化的过程。

我们学习神经网络的历程也是这样。

02理论

2.1 神经元(Neuron)

计算单元:它接收若干输入 x1, x2, …,每个输入乘以一个权重 wi,相加后加上偏置 b,再经过一个非线性函数(激活函数)f 输出值:

权重:决定输入的重要性。

偏置:允许输出整体平移。

激活函数:制造非线性(否则无论堆多少层,都是线性变换)。

总结和比喻:

让我们把神经元的工作流程串起来,用一个完整的比喻来理解:

一个神经元就像一个“小型决策委员会”:

1收集信息(输入):委员会成员(输入数据)进来开会。

1评估重要性(权重):每个成员发言的重要性(权重)不一样。大老板的话(重要特征)权重大。

1考虑公司基调(偏置):公司本身就有一种做事倾向(偏置),比如“天生激进”或“天生保守”。

1汇总分数(计算总和):秘书把所有人的发言(输入*权重)和公司基调(偏置)加在一起,得到一个总分数 z = (x*w) + b

1老大拍板(激活函数):最后,委员会主席(激活函数)根据这个总分数,做出最终的、规范化的决策。

1他可能说:“分数超过5?好,我们干!”(类似ReLU)

1也可能说:“我来算算,嗯,根据这个分数,我们有80%的成功率。”(类似Sigmoid)

所以,没有激活函数,神经网络就只是一堆数学计算,无法做出复杂的、非线性的决策。激活函数是赋予神经网络“灵魂”,让它能够学习和模拟世界上几乎所有复杂现象的关键部件。

2.2 层(Layer)与网络结构(Architecture)

多个神经元并排形成一层(Layer)。

输入层 -> 隐藏层(可以有多个) -> 输出层 构成一个网络。

常见小型网络:

1全连接网络(MLP / feedforward network)

1卷积网络(CNN)

1循环网络(RNN/LSTM)

2.3 激活函数(Activation)

Sigmoid:输出 (0,1),常用于二分类输出。

Tanh:输出 (−1,1)。

ReLU(常用):ReLU(x)=max(0,x),计算简单、训练稳定。

Softmax:把向量转换为概率分布(分类多类常用)。

2.4 损失函数(Loss)

衡量预测与真实标签的差距。

常见:

1均方误差(MSE):适用回归场景

1二元交叉熵(binary cross-entropy):适用二分类场景

1多类交叉熵(categorical cross-entropy):适用多分类场景

2.5 训练=优化(Optimization)

我们有参数(所有权重和偏置),希望最小化损失函数。

常用方法是梯度下降(Gradient Descent)或其变种(SGD、Adam 等)。

关键步骤:计算损失对每个参数的导数(梯度),并沿负梯度方向更新参数。

2.6 反向传播(Backpropagation)

通过链式法则把输出损失对每层参数的导数计算出来,从输出层往回传播。

这是神经网络高效计算梯度的算法。

2.7 训练流程概览

初始化参数(随机) → 前向传播计算预测 → 计算损失 → 反向传播计算梯度 → 更新参数(一次或多次迭代) → 重复直到收敛/满足条件。

2.8 常见问题与技巧

学习率太大:训练不稳定;太小:收敛慢。

过拟合:训练集上很好,测试集差。解决:更多数据、正则化(L2、dropout)、早停。

批量训练(mini-batch):在大数据上效率和稳定性好。

初始化权重要合理(避免梯度消失/爆炸)。

03实践

3.1 从0到1手搓一个小神经网络

下面用最简单的网络把概念、前向、反向、更新都自己纯手搓一遍,帮大家彻底搞懂它是如何运作的。

这是一个用纯 numpy 实现的简单神经网络(MLP),它的结构如下:

1输入层 2 个神经元

1隐藏层 4 个神经元(tanh 激活)

1输出层 1 个神经元(sigmoid 激活)

该神经网络用来学习 XOR(异或)这个二分类问题。

训练方法是批量梯度下降(每次用整个训练集计算梯度并更新参数)。

损失函数是二元交叉熵(binary cross-entropy)

完整代码如下:

Python                  # nn_xor_numpy.py                  # 纯 numpy 实现:一个隐藏层的 MLP,解决 XOR(二分类)                  import numpy as np                  # --- 数据:XOR ---                  # shape = (行数, 列数)                  # ndim = 维度个数 = 2(二维矩阵)                  # size = 总元素个数 = 4 × 2 = 8                  # XOR 是非线性可分的,线性模型学不出来,需要隐藏层。                  X = np.array([                  [0,0],                  [0,1],                  [1,0],                  [1,1]                  ], dtype=float)                  y = np.array([[0],[1],[1],[0]], dtype=float)# 二分类标签                  # --- 超参数 ---                  np.random.seed(42)                  input_dim = 2                  hidden_dim = 4# 隐藏单元数(增加会更容易学)                  output_dim = 1                  lr = 0.5# 学习率                  epochs = 10000                  # --- 初始化权重(小随机数)---                  W1 = np.random.randn(input_dim, hidden_dim) * 0.5                  b1 = np.zeros((1, hidden_dim))                  W2 = np.random.randn(hidden_dim, output_dim) * 0.5                  b2 = np.zeros((1, output_dim))                  # --- 激活函数及导数 ---                  def sigmoid(x):                  return 1 / (1 + np.exp(-x))                  def sigmoid_deriv(s):                  return s * (1 - s)# s 已经是 sigmoid(x)                  # --- 训练循环(批量梯度下降)---                  for epoch in range(epochs):                  # 前向传播                  z1 = X.dot(W1) + b1# (4, hidden_dim)                  a1 = np.tanh(z1)# 隐藏层激活,tanh 比 sigmoid 好点                  z2 = a1.dot(W2) + b2# (4,1)                  a2 = sigmoid(z2)# 输出概率                  # 损失(平均二元交叉熵)                  eps = 1e-12                  loss = -np.mean(y * np.log(a2 + eps) + (1-y) * np.log(1 - a2 + eps))                  # 反向传播(链式法则)                  dout = (a2 - y) / (y.shape[0])# dLoss/dz2(for BCE with sigmoid output)                  dW2 = a1.T.dot(dout)                  db2 = np.sum(dout, axis=0, keepdims=True)                  da1 = dout.dot(W2.T)# (4, hidden_dim)                  dz1 = da1 * (1 - np.tanh(z1)**2)# tanh 导数 = 1 - tanh^2                  dW1 = X.T.dot(dz1)                  db1 = np.sum(dz1, axis=0, keepdims=True)                  # 更新参数                  W2 -= lr * dW2                  b2 -= lr * db2                  W1 -= lr * dW1                  b1 -= lr * db1                  # 打印损失                  if epoch % 1000 == 0:                  preds = (a2 > 0.5).astype(int)                  acc = np.mean(preds == y)                  print(f"epoch {epoch:5d} loss={loss:.6f} acc={acc:.3f}")                  # 训练后结果                  print("\n训练后预测:")                  for xi, yi, pi in zip(X, y, a2):                  print(f"输入 {xi} -> 预测概率 {pi[0]:.4f}, 标签 {int(yi[0])}")

P.S:训练模型,本质就是训练参数和偏置,这里的w就是模型参数,b就是偏置。这里的 a2 就是模型推理结果。

程序运行结果截图为:

3.2 使用 PyTorch 在 MNIST 上训练一个小模型

这个例子的目的是让大家体验真实世界训练流程,包括:数据集加载、模型定义、训练循环、保存模型、评估。学习使用自动求导(Autograd)与优化器(例如 Adam)。

Python                  # train_mnist_pytorch.py                  # PyTorch 主库,用来做张量(Tensor)计算、GPU 加速等                  import torch                  # nn:神经网络模块,用于构建网络层(如卷积、全连接)。optim:优化器模块(如 Adam、SGD)                  from torch import nn, optim                  # datasets:常用数据集的集合,这里用 MNIST。transformers:对图片做预处理(如转为 Tensor、归一化)                  from torchvision import datasets, transforms                  # DataLoader:负责把 dataset 按 batch 分批加载                  from torch.utils.data import DataLoader                  # --- 配置 ---                  batch_size = 128# 一次训练喂 128 张图片,而不是一张一张训练,速度更快。                  epochs = 5# 整个训练集要重复学习 5 次。                  lr = 1e-3# 学习率,模型更新的步子大小。                  device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')                  print("Using device:", device)                  # --- 数据准备(MNIST)---                  # Compose(): 先把 ToTensor 和 Normalize 这两个行为打包成流水线                  # ToTensor():把 0~255 像素的图片变为 0~1 的 Tensor(浮点数)。让模型输入更小,梯度更稳,训练更快                  # Normalize(mean, std):把 0~1 像素值 → 以 0.13 为中心,以 0.31 为波动;让数据分布更稳定,训练更快                  # MNIST 的均值是 0.1307、标准差 0.3081(预先算好的)。                  transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.1307,), (0.3081,))])                  # 加载训练集和测试集,train=True:加载训练集。train=False:加载测试集。                  train_ds = datasets.MNIST(root='./data', train=True, download=True, transform=transform)                  test_ds= datasets.MNIST(root='./data', train=False, download=True, transform=transform)                  # 使用 DataLoader 打包。shuffle=True:打乱数据,避免模型死记顺序。test_loader不用 shuffle(测试顺序不重要)                  train_loader = DataLoader(train_ds, batch_size=batch_size, shuffle=True)                  test_loader= DataLoader(test_ds,batch_size=batch_size, shuffle=False)                  # --- 模型(简单的全连接网络)---                  # MNIST 图像大小是 28×28# Flatten():把 28×28 变成一维向量 784。                  # nn.Linear(a, b):全连接层,相当于矩阵乘法。                  # nn.ReLU():激活函数,让模型有非线性能力。                  # 结构图如下:784 → 256 → ReLU → 128 → ReLU → 10                  # 输出 10 类,对应数字 0~9。                  class SimpleMLP(nn.Module):                  # 构建模型:简单的全连接网络                  def __init__(self):                  super().__init__()                  self.flatten = nn.Flatten()                  self.net = nn.Sequential(                  nn.Linear(28*28, 256),                  nn.ReLU(),                  nn.Linear(256, 128),                  nn.ReLU(),                  nn.Linear(128, 10)                  )                  # 前向传播。                  forward() 就是模型如何计算结果。PyTorch 会自动调用它。                  def forward(self, x):                  x = self.flatten(x)                  return self.net(x)                  # 实例化模型。把模型加载到 GPU 或 CPU。                  model = SimpleMLP().to(device)                  # 损失函数 + 优化器                  criterion = nn.CrossEntropyLoss() # 分类任务常用损失函数(会做 softmax)。                  optimizer = optim.Adam(model.parameters(), lr=lr) # 常用优化器,自动调整学习率,让训练更稳。                  # --- 训练函数 ---                  def train_one_epoch():                  model.train()# 启用训练模式(如 dropout)                  total_loss = 0.0                  # 从 DataLoader 中取出一个 batch:imgs: 128 张图片;labels: 对应的数字(0~9)                  for imgs, labels in train_loader:                  imgs, labels = imgs.to(device), labels.to(device)                  # 清空梯度,否则梯度会累积。                  optimizer.zero_grad()                  # 前向传播 + 损失                  logits = model(imgs)# logits 是模型的输出(还未 softmax)。                  loss = criterion(logits, labels)# loss 表示预测和真实标签的差距。                  # 反向传播 + 更新参数                  loss.backward()                  optimizer.step()                  # loss.item() 把损失变成普通数字。                  total_loss += loss.item() * imgs.size(0)                  return total_loss / len(train_loader.dataset)# 最后返回平均损失。                  # --- 评估 ---                  def evaluate():                  model.eval()# 关闭 dropout/batchnorm 的训练模式。                  correct = 0                  total = 0                  with torch.no_grad():# 不计算梯度(节省显存)                  for imgs, labels in test_loader:                  imgs, labels = imgs.to(device), labels.to(device)                  logits = model(imgs)                  preds = logits.argmax(dim=1) # 计算预测结果。argmax 找最大值位置 = 预测的数字                  correct += (preds == labels).sum().item()                  total += labels.size(0) # 返回准确率(accuracy)                  return correct / total                  # --- 训练主循环 ---                  # 训练 5 个 epoch。                  # 每个 epoch:                  #跑一次训练函数                  #跑一次评估函数                  #打印损失和准确率                  for epoch in range(1, epochs+1):                  train_loss = train_one_epoch()                  test_acc = evaluate()                  print(f"Epoch {epoch}/{epochs}Train loss: {train_loss:.4f}Test acc: {test_acc:.4f}")                  # 保存模型                  torch.save(model.state_dict(), "mnist_mlp.pth")state_dict() 存模型参数(权重)                  print("模型已保存为 mnist_mlp.pth")

模型最终运行结果如下图:

来源:jenyao07

最新文章

随机文章

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