2s-AGCN图解:自适应图卷积与双流骨架动作识别原理与复现
刚开始啃 2s-AGCN 这篇论文时我的第一反应是这不就是 ST-GCN 加了一些可学习矩阵吗为什么能涨这么多点。真正把公式、源码和数据预处理全部过了一遍之后才发现自适应图结构和双流输入这两个设计每一个都打在骨架动作识别的要害上。这份笔记会按从动机到实现、从消融到复现的顺序把这篇 CVPR 2019 的工作拆开讲适合正在做动作识别、或者想了解图卷积如何落地到时序任务的读者。如果你打算精读 2s-AGCN建议别急着读代码先把它的三个改进点吃透自适应图结构、双流输入和骨骼特征构造。这篇就是我当时复盘时整理的全过程尽量做到每个公式背后的动机、每个实验设置的实际含义都讲清楚。1. 从 ST-GCN 到 2s-AGCN为什么「固定骨骼图」成了天花板1.1 骨架动作识别到底在解决什么问题骨架动作识别输入不再是一段彩色视频帧而是每一帧里人体关键点的坐标序列。比如 NTU RGBD 数据集提供 25 个 3D 关节点的坐标Kinetics-Skeleton 则从视频里估计出 18 个关节。任务是根据这些点随时间的位置变化判断出「这个人在做什么动作」。这样做的好处是去掉了身体外形、服装、背景、光照等视觉干扰数据量也更小坏处是一旦关节位置本身不准整个下游识别就废了。可以把骨架当成一个火柴人一根根「骨头」把关节连起来动作识别本质上要从这些点的运动模式里找出特征的时空规律。和图像分类不同骨架数据没有规则的网格结构。关节点之间不是像素邻域而是一张图——人体本身就是最好的图结构先验。所以在 GCN 流行起来之前人们通常手动设计关节角度、肢体方向等特征或者把骨架拉成向量喂给 RNN/CNN但都难以兼顾拓扑关系。GCN 出现后骨架动作识别才真正找到了匹配的建模工具。1.2 ST-GCN 做了什么卡在哪里ST-GCN 是 2018 年的经典工作它把骨架数据构建成时空图空间边由人体骨架连接定义比如肘关节和腕关节在物理上相邻时间边连接同一个关节点在相邻两帧的位置。图卷积在一层内聚合节点的邻居信息再用时间维度的 1D 卷积捕捉运动变化。ST-GCN 的卷积公式写作[ f_{out}(v_i) \sum_{j} \frac{1}{Z_{ij}} f_{in}(v_j) W(d(v_i, v_j)) ]其中 (d(v_i, v_j)) 表示节点 (v_j) 相对根节点 (v_i) 属于哪一类邻居。ST-GCN 采用 spatial configuration 策略把一个节点的邻居划分为根节点、向心点、离心点三类所以卷积需要对 3 张邻接矩阵分别计算最后求和。问题在于这些邻接矩阵在整个训练过程中是固定的完全由人体骨架的物理结构预先定义意味着所有样本、所有层、所有通道共用一个拓扑。这带来几个明显短板。第一它无法表达样本之间的差异一个人的手臂长、另一个人的手臂短同样的「伸手」动作关节距离差别很大但图结构完全一样。第二它缺少非物理连接拍手时两只手在空间上非常接近但骨架图上手和手之间没有直接连接信息要从一只手上行到手肘、再跳到另一只手路径很长。第三它只能建模坐标流而坐标本身对绝对位置高度敏感容易让网络过拟合到采集时的相机视角和人物位置。1.3 2s-AGCN 的整体思路2s-AGCN 的改进概括成两句话把图结构从「预先定死」改成「网络自己学」再把输入从「只有关节坐标」扩成「关节坐标 骨骼几何」。方法分成两个流关节流输入原始关节点坐标骨骼流输入每条骨骼的长度和方向向量两个分支使用完全相同的网络结构最后对 softmax 分数做融合。图结构上的改造也是标准的自适应性每一层图卷积中除了预设的规范化邻接矩阵 (A_k)还额外引入一个全局可学习矩阵 (B_k) 和逐样本生成的动态矩阵 (C_k)三张图相加后再做聚合。这个设计最大的价值在于骨架拓扑不再是一个固定的先验而是一个可调整的初始值。后来很多工作包括 Shift-GCN、MS-G3D、CTR-GCN都是在「图结构要自适应」这个大方向下做文章。理解 2s-AGCN等于拿到了理解后续一堆骨架 GCN 工作的钥匙。2. 自适应图卷积三个矩阵合起来生成一张「活」的图2.1 邻接矩阵和三类邻居划分在进入自适应之前有必要先把 ST-GCN 的邻接矩阵讲清楚。人体骨架有 (N) 个关节点邻接矩阵 (A) 是 (N \times N) 的 0/1 矩阵如果两个关节直接相邻或者节点自身到自身对应位置就是 1。ST-GCN 使用 spatial configuration 把邻居分成 (K3) 类所以实际上有 3 张这样的邻接矩阵记为 (A_1, A_2, A_3)。每张矩阵再经过对称归一化[ \tilde{A}_k D_k^{-1/2} A_k D_k^{-1/2} ]目的是让不同节点的邻居数量不同时聚合的信息量不会差异过大。如果不做归一化一个连接度高的关节比如骨盆的特征会被大量邻居平均后稀释网络训练不稳定。这个细节特别容易被忽略但直接影响最终精度。2s-AGCN 完全继承了这套框架图卷积变成了[ f_{out} \sum_{k1}^{3} W_k f_{in} (A_k B_k C_k) ]注意公式里有省略对第 (k) 类邻居先把三张矩阵相加得到一个聚合矩阵再做正常的图卷积。区别在于 (B_k) 和 (C_k) 的引入让「哪两个节点之间有边、边的权重是多少」变成了可学习、随样本变化的量。2.2 三个矩阵各自的定位(A_k) 是物理骨架的先验代表「人体结构上确实存在的连接」。它限制了模型的基础信息传播路径保证一层卷积至少能沿着真实骨骼把相邻关节的特征互传一遍。这一项让网络在训练初期不至于完全失控。(B_k) 是一个与输入无关的全局可学习矩阵形状依然是 (N \times N)初始化成 0。训练开始后它会在现有物理连接之外长出新边比如网络发现「右手腕」和「左手腕」这两个节点在大量动作中都有相关性就会在这两个位置积累较大的权重。这类连接不一定符合人体解剖学但符合动作语义学。(C_k) 是最有意思的部分它根据当前输入样本动态生成。具体做法是对输入特征做两次 1×1 卷积映射到中间空间然后经过矩阵乘法得到一个 (N \times N) 的相关性矩阵再做 softmax。这样网络在看某一个具体动作时会根据这个动作的关节位置动态决定此刻更倾向在哪些节点之间传递信息。如果说 (B_k) 是「长期统计出来的全局偏好」(C_k) 就是「当前这个样本的临时注意力」。用一句话类比(A_k) 是城市的固定道路(B_k) 是长期形成的习惯路线(C_k) 是每天根据实时交通算出来的绕行方案。三者叠加才能更准确地刻画一次真实的出行。2.3 动态矩阵的维度推导和实现示意要真正理解 (C_k)还是要落到张量维度上。假设一个 GCN 层的输入特征 x 的形状是 ((N_{batch}, C_{in}, T, V))其中 (V) 是节点数NTU 上 (V25)。我们想在 (V) 和 (V) 之间建边也就是最终要得到 ((V, V)) 的矩阵。一个简化的实现思路是先对时间维 (T) 做压缩把特征变成节点级表示再做相似度# x: (N_batch, C_in, T, V) x1 conv_a(x).mean(dim2) # 时间维池化 - (N_batch, C_in, V) x2 conv_b(x).mean(dim2) # 同上 C torch.einsum(ncv,ncw-vw, x1, x2) / (C_in ** 0.5) # (V, V) C torch.softmax(C, dim-1)这是便于理解的简化示意实际官方实现里包含 BatchNorm、缩放系数等细节。然后空间聚合可以写成M A_k B_k C_k # (V, V) x_g torch.einsum(nctv,vw-nctw, x, M) # 邻居特征加权求和 out out conv_1x1(x_g) # 1x1 卷积换通道这里最关键的是 einsum 这一步nctv 和 vw 做矩阵乘法后得到 nctw含义是「每个目标节点 w把源节点 v 的特征乘以权重 M[v][w] 再累加」。这和标准图卷积公式完全对应。动态矩阵 (C_k) 的存在让每一层基于当前输入重新计算一次拓扑所以即使是同一层、同一个动作类别不同人的不同姿态也会得到不同的图。2.4 自适应为什么能带来这么多提升很多人第一次看完公式会低估它的作用觉得不就是在邻接矩阵上加了个可学习矩阵而已。实际效果说明这不是小改动。固定图的情况下一个节点只能看到物理邻居的信息要跨越大范围交互只能靠层数堆叠把信息一层层传出去路径长、信息容易稀释。有了 (B) 和 (C)网络可以在任意两个节点之间直接建立高权重连接相当于开辟了信息高速公路。更重要的是(C_k) 是逐样本的这让模型的归纳偏置从「所有人体共享同一个拓扑」变成了「所有人体共享拓扑先验但具体动作各自调整」。这正好对应骨架数据的特性骨架拓扑总体由解剖结构决定但动作相关的交互连接高度依赖具体姿态。自适应图卷积相当于是把「动作相关的最优图结构」也从数据里一并学了出来。3. 双流输入骨骼长度和方向才是被低估的信息3.1 单靠坐标流会漏掉什么joint stream 输入的是 25 个关节点的 3D 坐标。问题在于坐标编码的是绝对位置而动作识别更关心的是相对位置关系。身高 1.9 米和 1.6 米的两个人做同一个「挥手」动作绝对坐标差很大但关节角、肢体朝向、骨骼长度这些几何量是接近的。如果网络只能看到坐标它需要花大量参数量去隐式消除体型差异而且容易过拟合到训练集里出现过的身高和朝向模式。另一个问题是坐标流没有直接给出一阶几何信息。一个「弯腰」动作骨骼的方向变化非常剧烈一个「伸手」动作手臂骨骼的方向和长度是判别性最强的线索。这些信息在坐标表示里存在但需要有足够深的网络才能隐式提取出来效率远不如显式塞给模型。这也是双流设计的核心动机与其让网络自己学不如把现成的几何特征作为输入通道直接喂进去。3.2 骨骼向量的构造方法骨骼流把每条边本身的属性当成输入。假设一条骨骼连接关节点 (v_i) 和 (v_j)方向向量定义为 (e v_i - v_j)长度为 (l |e|_2)。作者把骨骼特征挂到这条骨骼对应的端点上具体来说是挂到离人体重心更近的那个关节点上这样骨骼特征就可以表示成与关节图相同大小的张量直接复用同一个 GCN。所以 bone stream 的输入特征不是 25 个关节点坐标而是 25 个「点」上对应的骨骼向量特征每个位置存的是与该点关联的骨骼的方向和长度信息。骨骼方向本身是 3 维向量长度是一维标量拼起来是 4 维如果需要还可以把关节坐标也拼一部分进去。做出来的输入张量形状和 joint stream 完全一致网络结构一丁点都不用改只需要换一份输入数据。这说明了一个可以反复利用的经验双流模型不一定要设计两套复杂网络只要把输入表示转换成同一个张量格式就能白拿一个互补分支。3.3 融合方式为什么用分数相加两个流各自训练各自输出一个动作类别的 logitssoftmax 之后逐类相加再取最大值作为最终预测。为什么不把两个分支的特征在中间层拼接起来因为拼接会迫使分类器重新学习两个特征空间的对应关系而且两个分支的特征分布不完全一致简单拼接经常不如在概率层面融合稳定。softmax 分数相加本质上是两个分类器在类别概率上的投票集成如果关节流对「拍手」判断强骨骼流对「拍手」判断也较强相加后被放大如果某个流判断错误另一个流即便不能完全纠正也能通过概率分布把错误排名压下去。实际实验里融合带来的提升通常比单独替换某个分支结构更明显。原因很简单两个流的错误往往错在不同地方。关节坐标流在平移、缩放变化下不稳定骨骼方向流对关节定位噪声更敏感两者互为补充。融合后等于在决策层把两个互补模型的优势合并了。4. 实验设置里的门道不读明白你复现不到 88.54.1 NTU RGBD 的两种评估协议NTU RGBD 是目前骨架动作识别最常用的基准之一包含 60 个动作类别由 40 个志愿者、3 个不同视角的 Kinect 相机采集。官方给出两个标准划分。Cross-SubjectX-Sub按人物划分一部分人的所有样本作为训练集另一部分人的样本作为测试集。这样能检验模型对不同人的泛化能力因为训练时完全没见过测试人物。Cross-ViewX-View按相机视角划分用其中两个视角的数据训练用剩下的视角测试检验的是跨视角泛化能力。由于人的外观信息已经被骨架去掉了跨视角主要考验的是模型对视角变化的鲁棒性。这两个协议都非常严格且已经成了领域标配。你会在论文里看到几乎所有方法都报「X-Sub」和「X-View」两组数字。读实验部分时先确认方法是在哪个协议上评测的再比较数字才有意义。4.2 输入预处理和数据增强细节NTU 的原始数据是.skeleton文件需要解析出每一帧每个关节的 3D 坐标。2s-AGCN 的预处理大致包括保留每帧最多两个主体长度对齐到固定帧数NTU 一般取 300 帧超过就裁剪不足就补帧或者重复对坐标做中心化、归一化把整个人体移到原点附近。数据增强方面论文使用了随机旋转——对整段骨架绕着某个轴旋转一个小的随机角度。这是骨架数据最有价值的增强方式之一因为旋转不会改变骨骼长度和动作语义却能让模型对相机视角变化更鲁棒。还可能有随机平移、时间缩放等操作。训练时增强测试时不增强这是基本操作。很多人第一次复现时直接跳过数据增强短期内看准确率差别不大两三个 epoch 之后差距就出来了尤其是 X-View 协议上旋转增强的效果会被放大。我见过有人在 X-View 上只差 0.5 个点加了旋转增强之后直接反超这种细节值得重视。4.3 训练超参数和复现预期训练层面2s-AGCN 沿用深度学习常规配置SGD 优化器、momentum 0.9、weight decay 1e-4初始学习率通常设为 0.1在固定的 epoch 点按 1/10 做阶梯下降总共训练几十个 epoch。batch size 受显存限制通常在 32 到 64 之间。分类损失就是标准的交叉熵。复现时一个常见误区是追求和论文完全一致到小数点后两位。图卷积网络对随机种子、数据加载顺序、GPU 型号都很敏感同样的代码跑两遍都可能差 0.1~0.3 个点。我在复现时给自己定的标准是X-Sub 能到 88 附近、X-View 能到 94 附近就说明网络结构和训练流程没有拆错。想再往上提再在数据增强、超参和模型细节上下功夫。5. 消融与对比哪些设计是真金哪些只是加成5.1 逐项消融B 和 C 各自贡献了多少论文的消融实验很清晰地展示了每个组件的作用。以 NTU X-Sub 为例以 ST-GCN 的基线出发单独加全局可学习矩阵 (B)准确率会涨约 1 个多点再加输入依赖矩阵 (C)会再涨 1 个多点。这两个模块合起来构成了 AGCN 相比 ST-GCN 的主要提升。(B) 和 (C) 的算力开销很小但对准确率的影响是系统性的。这里我想强调一点看消融实验不能只看最终涨了多少还要看趋势。(C) 矩阵带来的收益通常比 (B) 更稳定因为它负责的是逐样本动态建模这正是骨架动作识别里最难的部分——人与人之间同样的动作具体姿态差异很大。(B) 更像是在补全局统计缺失(C) 才是真正把「自适应」的价值发挥出来的地方。5.2 双流融合是最大的单点提升关节流和骨骼流单看都是 86~87 的水平融合后能到 88.5。这就是双流设计的价值两个流没有哪个绝对强但它们犯的错误不重叠。就像两个水平相近的评审各自独立看问题最终的合议意见比任何单独一个都可靠。Kinetics 上的趋势类似2s-AGCN 相比 ST-GCN 的 top-1 提升在 5 个点左右骨架估计噪声更大的数据上自适应图结构的优势更突出。Kinetics-Skeleton 的样本是从视频里自动估计出来的关节位置噪声比 Kinect 采集的 NTU 大很多。在这种不完美数据上图结构如果完全固定错误关节连接会把噪声也一起聚合进来自适应图结构至少给了网络一个「选择要不要相信这条边」的机会。5.3 可视化和定性分析论文展示了一些学到的自适应连接。一些长距离的关节对比如肩和手腕、左手和右手在特定的层获得了较高的权重。这些连接从解剖学上不存在但在动作语义上非常重要。可视化是对「自适应结构有效」的最直接证明网络不是随机加了一些边而是真正在学习动作相关的关节交互关系。遇到类似 GCN 项目我都建议做一次这种可视化它能帮你快速判断图结构是不是学偏了。如果学出来的 (B) 矩阵全是噪声说明训练有问题或者任务本身不太需要自适应。6. 复现 2s-AGCN 时我踩过的坑6.1 张量维度和多人处理的坑官方实现里输入张量一般整理成 (N, C, T, V, M)其中 (M) 是人数。新手最容易踩的坑是把 (C) 和 (V) 的顺序搞反或者把两人数据直接合并到 (V) 维上。正确做法是保留独立的 M 维分别让两个个体通过 GCN然后在最后融合两个人的预测或者把两人的特征在 M 维上做平均后再进入分类头。我遇到过一个很隐蔽的 bug把 M 和 V 合并后人的对应关系错位导致单人的样本准确率飙升、双人的样本准确率崩掉。这种 bug 在验证集上不容易看出来因为整体准确率可能只掉 1 个点左右但一上双人动作类别就会露馅。排查方法是单独统计双人动作类别的准确率如果明显低于单人先怀疑 M 维处理。6.2 邻接矩阵少了 self-loop 的坑ST-GCN 的邻接矩阵通常是包含 self-loop 的也就是 (A I) 之后再归一化。很多人复现时会把这一步忘掉导致根节点自己的信息在第一层就完全丢失。表面上看训练还能收敛但精度始终差 2~3 个点怎么调学习率都上不去。检查方法很简单把第一层卷积前的 (A) 矩阵打印出来看对角线是否为 1。这个坑太常见建议写进自检清单。2s-AGCN 在自适应矩阵里同样需要对 (A_k) 做规范化处理不能因为加了 (B) 和 (C) 就忽视了 self-loop。(B) 和 (C) 可以参与调整最终的权重但初始物理连接的设置要保证正确。6.3 显存、环境依赖和官方代码的老化问题官方代码是几年前的 PyTorch 版本直接在新环境里跑经常会遇到 API 变动导致的报错。常见问题包括torch.div行为变化、旧式Variable、BatchNorm的 momentum 设置等。建议用 conda 建独立环境或者参考 mmaction2 里对 2s-AGCN 的复现实现。数据加载部分NTU 的.skeleton文件解析也可以直接网上下载别人转换好的.npy格式能省不少事。显存方面10 层左右 GCN、300 帧输入、batch size 64 在 11GB 显存上比较紧张8GB 显存建议把 batch 降到 32或者把序列采样长度降一档。双流模型相当于跑两个单流训练时间直接翻倍先用单流调通流程再开双流效率最高。6.4 判断复现是否成功的标准我的经验是不要拿「跟论文误差小于 0.1%」当目标。复现成功与否看的是相对趋势。单流能到 86 左右双流融合能到 88 附近且加 (B)、加 (C)、加骨骼流每一步都是正向提升说明实现基本没问题。如果出现加了模块反而下降的情况优先检查矩阵归一化、维度对齐和初始化而不是急着调学习率。7. 这篇论文之后的演进与阅读建议7.1 后续工作往哪些方向改2s-AGCN 之后骨架动作识别的 GCN 工作大多沿着两条路走一是继续改图结构二是提升效率。Shift-GCN 用 shift 操作代替自适应矩阵乘法大幅降低计算量MS-G3D 把多尺度邻近点和跨时空边一起建模解决长期时序依赖CTR-GCN 在通道维上做拓扑细化相当于把自适应的粒度从「节点级」推进到「通道级」。这些工作都保留了 2s-AGCN 的核心思想图结构不应该固定不变。可以说2s-AGCN 把整个领域从「如何设计更好的固定图」引导到了「如何让网络自己学到正确的图」这个范式上。7.2 2s-AGCN 的局限依然存在如果你要基于 2s-AGCN 做项目有几个局限要想清楚。双流结构使计算量翻倍部署到实时系统有压力动态矩阵 (C) 是在时间维压缩后计算的缺少逐帧级别的动态图注意力图的节点数和基础拓扑仍是手工定义的没有做到完全端到端地学习最优骨架图。此外(B) 矩阵虽然是全局可学习的但它在所有样本间共享无法体现每个样本的个性化差异这部分恰好由 (C) 补充但这种分工也增加了模型的复杂度。7.3 我建议的三遍读法第一遍只读摘要、引言和结论搞清楚动机和创新点不纠结公式。第二遍结合消融表读自适应图卷积和双流设计用本文第三、五章的思路去对照理解每个模块为什么存在。第三遍打开源码盯住张量 shape 变化把einsum和矩阵相加的过程在纸上画一遍。我当时就是按照这个顺序把 2s-AGCN 拆成了一个可以随时复用的「骨架动作识别基础骨架」。后来再看 Shift-GCN、CTR-GCN会发现很多 trick 都能在 2s-AGCN 里找到影子。读透这一篇相当于打通了骨架 GCN 这条技术线的任督二脉后面再看同类论文会轻松很多。

相关新闻

GTX 16xx跑YOLO训练loss爆nan?图灵架构FP16兼容性避坑指南

GTX 16xx跑YOLO训练loss爆nan?图灵架构FP16兼容性避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:16:11 阅读更多 →
Vue多平台音频播放器:APlayer+Meting工程化实践

Vue多平台音频播放器:APlayer+Meting工程化实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:15:11 阅读更多 →
Windows11下UE4+AirSim无人机仿真环境搭建完整指南

Windows11下UE4+AirSim无人机仿真环境搭建完整指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:15:11 阅读更多 →

最新新闻

NeRF转精细纹理网格:自适应表面细化与烘焙全流程

NeRF转精细纹理网格:自适应表面细化与烘焙全流程

简介:面向计算机视觉与图形学开发者,这份实战项目围绕三维重建中的前沿问题:如何从神经辐射场(NeRF)通过自适应表面细化恢复精细纹理网格。资源完整提供项目源码与流程教程,涵盖数据预处理、NeRF训练、表面…

2026/10/4 5:21:48 阅读更多 →
Win11 全新安装实操记录:从 UEFI 启动盘到进桌面避坑指南

Win11 全新安装实操记录:从 UEFI 启动盘到进桌面避坑指南

那个蓝底四格的窗户 Logo 从黑色背景里浮出来时,我正一手扶着笔记本,一手翻着摊在桌上的《Windows 11 从入门到精通》。那一刻我清楚记得:书还停在 2.4.1 节,标题写着"启动安装程序",而屏幕上那个比 Win10 更…

2026/10/4 5:21:48 阅读更多 →
用Coding模型当导演:代码大模型+FFmpeg搭建自动化视频生成流水线

用Coding模型当导演:代码大模型+FFmpeg搭建自动化视频生成流水线

一说到Coding模型(也就是Qwen2.5-Coder、DeepSeek-Coder这类代码大模型),大多数人第一反应就是写代码、修Bug、做小工具。但最近我一直在折腾一个很有意思的方向:用它来“做视频”。你没看错,代码模型不做生视频的活&a…

2026/10/4 5:21:48 阅读更多 →
用Codex CLI搭建跨境电商内容自动化流水线:从知识库到短视频成片

用Codex CLI搭建跨境电商内容自动化流水线:从知识库到短视频成片

做跨境电商内容这几年,我最大的感受就是:产品可以慢慢打磨,但内容永远在催命。一个新品上来,亚马逊五点描述要写、TikTok Shop脚本要拍、独立站详情页要改、社媒贴文要发,而且每个渠道的语言习惯还不一样。以前三个人一…

2026/10/4 5:21:48 阅读更多 →
浏览器端大模型推理:GLM-5.3-Flash与Claude in Chrome实战指南

浏览器端大模型推理:GLM-5.3-Flash与Claude in Chrome实战指南

1. 这份早报不是新闻简报,而是一张AI技术演进的“快照地图”2026年8月27日这期AI早报,表面看是三条孤立消息:英伟达财报、GLM-5.3-Flash开源、Claude在Chrome全面开放。但在我连续跟踪大模型基础设施三年、亲手部署过27个不同架构本地推理环境…

2026/10/4 5:21:48 阅读更多 →
wechat-cli如何解密微信加密数据库?SQLCipher 4页级AES-256-CBC解密与WAL合并原理全解析

wechat-cli如何解密微信加密数据库?SQLCipher 4页级AES-256-CBC解密与WAL合并原理全解析

wechat-cli如何解密微信加密数据库?SQLCipher 4页级AES-256-CBC解密与WAL合并原理全解析 【免费下载链接】wechat-cli A CLI tool to query your local WeChat data — chat history, contacts, sessions, favorites, and more. Designed for LLM integration. 项…

2026/10/4 5:20:47 阅读更多 →

日新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 10:36:31 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:35 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:36 阅读更多 →