CNN注意力机制用于表格数据分类的Matlab实现与调参实践
简介面向计算机、电子信息工程、数学等专业学生这份基于注意力机制的卷积神经网络CNN-attention数据分类Matlab代码适用于课程设计、期末大作业与毕业设计。压缩包共含6个文件以主程序main.m和数据集.xlsx为核心4张png图片展示了网络结构或分类结果整体仅162KB轻量小巧便于分享与复用。目前已有68人学习下载适合快速验证与二次开发。代码采用参数化编程注释清晰可直接运行附带案例数据支持Matlab 2014/2019a/2024a等常见环境。通过该实践能理解CNN提取局部特征与注意力机制加权关键信息的融合逻辑掌握从数据导入、网络搭建到模型训练的完整流程。同时所有关键参数均集中配置便于针对不同数据集进行快速迁移实验为后续深度学习研究打下基础。1. 从图像分类到数据分类CNN注意力机制到底改了什么很多人第一次拿到“基于注意力机制的CNN分类”这类Matlab项目第一反应是CNN不是做图像的吗怎么拿来分类表格数据这个项目恰恰就是解决这个问题的——它把卷积网络的特征提取能力和注意力机制的加权筛选结合起来让模型在分类时不是平均看待所有维度而是自动聚焦关键特征。主程序main.m把网络结构、训练参数、数据读取都做成了参数化变量拿到手改一改就可以换数据集。适合课程设计、期末大作业、毕业设计需要快速跑通一个分类模型的学生也适合想看一眼注意力机制在Matlab里怎么落地的从业者。2. CNN注意力机制的原理与Matlab选型为什么要在卷积后加注意力2.1 卷积特征提取的基本流程从输入到特征图基于注意力机制的卷积神经网络核心还是在卷积。以这个项目处理的表格型数据集为例输入不是图片而是二维矩阵——样本数乘特征维度。CNN在其中做的事情是把一维或二维的原始特征通过卷积核重新组合提取出局部模式。常见做法是先把.xlsx读进来转成矩阵再reshape成网络能接受的形状。卷积层在这条链路里扮演的角色是“特征筛选器”% 读取Excel数据 data readmatrix(数据集.xlsx); % 假设最后一列是标签前面的列是特征 X data(:, 1:end-1); Y data(:, end); % 数据归一化到[0,1]区间加速收敛 X (X - min(X)) ./ (max(X) - min(X));这里要说明两个关键点。第一readmatrix在Matlab 2019a之后才稳定支持早期版本建议用xlsread我在2.3节会专门讲版本兼容。第二归一化用的是逐列min-max如果你的数据本身存在极端离群点标准归一化z-score会更稳但这个项目里min-max够用改起来也简单。卷积层的输入一般要求是四维张量格式是高度×宽度×通道数×样本数。表格数据没有天然的空间结构所以常见做法是把一维特征向量重排成“伪图像”。比如128维特征可以reshape成16×8的单通道“图像”这样卷积核就能同时在两个方向上扫描特征组合。2.2 注意力机制的两种常见形态通道注意力和空间注意力注意力机制在这个项目里的意义不是让网络“看得更远”而是让网络“知道该看哪里”。对表格数据来说就是让模型在分类时动态调整每个特征的权重。比较常用的两种形态通道注意力Channel Attention对特征图的每个通道计算一个权重告诉网络哪些通道更有判别力。SENet是这类结构的典型代表。空间注意力Spatial Attention在特征图的高度和宽度维度上生成注意力掩码相当于告诉网络特征图的哪个区域更重要。这个项目用的CNN-attention结构常见实现是把通道注意力接在最后一个卷积层之后、全连接层之前。具体到代码相当于在卷积输出后面插入一个全局平均池化→两个全连接层→Sigmoid激活的旁路分支把这个分支的输出权重乘回原特征图。% 注意力模块通道注意力Squeeze-and-Excitation风格 % layers 变量中插入以下结构 seLayers [ globalAveragePooling2dLayer(Name,gap) fullyConnectedLayer(16,Name,se_fc1) reluLayer(Name,se_relu) fullyConnectedLayer(numChannels,Name,se_fc2) sigmoidLayer(Name,se_sigmoid) ];globalAveragePooling2dLayer把每个通道压缩成一个标量相当于把空间信息聚合fullyConnectedLayer(16)先把通道数压缩到1/8左右降低参数量再通过fullyConnectedLayer(numChannels)恢复原始通道数。Sigmoid把输出限制在0到1之间作为每个通道的“重要程度”乘回原特征图后网络自然把更多注意力放在高权重通道上。2.3 为什么在Matlab里做工具箱、版本兼容与调试优势PyTorch和TensorFlow在深度学习圈子里确实更流行但如果你手头只有Matlab或者项目要求必须用Matlab交付那这个选择也成立。原因有三点第一Deep Learning Toolbox从2017b开始就原生支持convolution2dLayer和fullyConnectedLayer搭CNN不需要额外装库。第二Matlab的App界面里可以可视化网络结构analyzeNetwork能直接检查层连接是否有维度错误对排查模型拼接问题帮助很大。第三对于课程设计和毕业设计来说Matlab代码的注释习惯和参数化风格更接近工程报告的要求。这个项目说明标注支持2014、2019a和2024a三个版本。需要提醒的是2014版本身没有Deep Learning Toolbox如果一定要在那上面跑需要自己写卷积和反向传播几乎不现实。我的判断是“支持2014”更多是指数据读取和预处理部分的代码兼容深度学习部分建议至少用2019a以后的版本。3. 搭建CNN-attention模型main.m核心结构与数据加载3.1 数据集.xlsx的读取与预处理样本划分的隐藏坑main.m的第一步是把数据读进来并划分训练集和测试集。这个步骤的坑比想象中多。最常见的两个问题一是数据没有打乱就直接切分导致训练集和测试集的类别分布严重不均衡二是标签没有做one-hot编码crossentropy损失函数直接报错。% 主程序入口main.m % 第一步读取数据 data xlsread(数据集.xlsx); % 兼容2014版本的读取方式 X data(:, 1:end-1); % 特征矩阵 Y data(:, end); % 标签向量 % 第二步随机打乱并划分训练/测试集 rng(42); % 固定随机种子保证结果可复现 idx randperm(size(X, 1)); trainRatio 0.8; numTrain floor(trainRatio * size(X, 1)); XTrain X(idx(1:numTrain), :); YTrain Y(idx(1:numTrain), :); XTest X(idx(numTrain1:end), :); YTest Y(idx(numTrain1:end), :); % 第三步标签转categorical分类问题必需 YTrain categorical(YTrain); YTest categorical(YTest);rng(42)这一行值得多说一句。深度模型训练有随机性不固定种子的话每次跑出来的准确率都不同很难判断一个改动是真实提升还是随机波动。我一般会固定种子再跑对比实验时才说得清楚。randperm是随机排列索引比直接X(1:80, :)切分要安全得多。3.2 网络层搭建卷积、批归一化、池化与全连接网络主体结构上这个项目走的是“卷积块×2 → 注意力模块 → 全连接分类头”的路线。每一层都参数化成变量方便改。%% 网络参数配置 numChannels 8; % 第一层卷积核数量 filterSize [3 3]; % 卷积核大小 numClasses numel(unique(Y)); % 类别数从数据自动获取 %% 搭建网络结构 layers [ imageInputLayer([16 8 1], Name, input) % 输入层16x8单通道 convolution2dLayer(filterSize, numChannels, Padding, same, Name, conv1) batchNormalizationLayer(Name, bn1) reluLayer(Name, relu1) maxPooling2dLayer([2 2], Stride, [2 2], Name, pool1) convolution2dLayer(filterSize, numChannels*2, Padding, same, Name, conv2) batchNormalizationLayer(Name, bn2) reluLayer(Name, relu2) % 注意力模块插入位置 globalAveragePooling2dLayer(Name, gap) fullyConnectedLayer(16, Name, se_fc1) reluLayer(Name, se_relu) fullyConnectedLayer(numChannels*2, Name, se_fc2) sigmoidLayer(Name, se_sigmoid) % 分类头 fullyConnectedLayer(numClasses, Name, fc_final) softmaxLayer(Name, softmax) classificationLayer(Name, output) ];网络结构里值得注意的设计细节是Paddingsame和批归一化的搭配。same卷积保证特征图尺寸不因卷积核缩小池化层负责降采样。注意力模块在第二个卷积块之后接入这时候特征图已经经过两次卷积和一次池化通道语义比较丰富权重分配才更有意义。如果在第一层卷积后就接注意力特征还太原始注意力学出来的权重解释性也差。batchNormalizationLayer放在卷积和激活之间是标准做法收敛速度比不加速要快不少。实测中不加BN的训练loss曲线会出现明显的锯齿状震荡加了之后平滑很多。3.3 注意力模块的融入位置在哪个特征图后面加注意力模块不能乱插位置选错了效果反而变差。我拆这个项目时看到注意力是接在第二个卷积块之后池化之前。这个位置选择有讲究太早第一个卷积块特征还是低级的边缘纹理组合通道语义尚未成型注意力权重学不出区分度。太晚到了全连接层附近再接空间分辨率已经被池化压得很低通道数也固定了注意力能调整的余地变小。池化之前特征图分辨率还够注意力权重可以对每个空间位置的响应做重新标定灵活性最高。常见做法是在卷积输出之后、池化之前插入Squeeze-and-Excitation分支。Matlab里实现这个结构稍微有点绕因为Deep Learning Toolbox的layers数组不支持直接做“乘回”操作需要借助additionLayer或者自定义dlarray训练循环来实现。如果使用的是trainNetwork接口最省事的方案是换一个思路把注意力模块的权重向量作为全局池化之后的特征加权相当于在特征向量层面做注意力而不是在特征图层面。代价是空间注意力被舍弃但通道注意力的主要收益还在。如果要做完整的通道加权乘回就需要使用自定义训练循环这也是从课程设计进阶到毕业设计的常见分水岭。% 使用dlnetwork实现完整注意力乘回 % 关键点定义前向函数在卷积输出上乘注意力权重 function dlY modelWithAttention(dlX, params) % 卷积特征提取 dlY convForward(dlX, params); % 通道注意力权重计算 se globalAvgPool(dlY); se seFC1(se, params); se seFC2(se, params); se sigmoid(se); % 权重乘回特征图 dlY dlY .* se; % 后续分类层 dlY classHead(dlY, params); end这段自定义循环的结构是完整的CNN-attentionse经过两个全连接层后得到每个通道的权重向量通过广播机制乘回特征图。这个写法比trainNetwork的层数组方式灵活但需要自己管理梯度、自己写训练循环适合数据规模不大、想在论文里把结构讲清楚的情况。4. 参数化编程与训练配置跑通main.m需要改哪些参数4.1 超参数一览学习率、批大小、epoch数与卷积核数量这个项目的代码特点是参数化编程——所有关键超参数都集中在文件头部不用去代码中间翻找。这种风格对课程设计来说很友好因为你需要做的就是改参数、跑实验、记录结果。%% 训练超参数配置 options trainingOptions(adam, ... InitialLearnRate, 0.001, ... MaxEpochs, 80, ... MiniBatchSize, 32, ... ValidationData, {XValidation, YValidation}, ... ValidationFrequency, 10, ... Plots, training-progress, ... Verbose, true);几个参数的经验取值拆过很多次类似项目后总结的规律InitialLearnRate0.001是Adam优化器的安全起点。如果loss震荡不收敛降到0.0003如果收敛太慢升到0.003试一下但一般不超过0.01。MiniBatchSize表格数据量通常不大几千条32是个兼顾梯度稳定性和内存占用的值。数据量少到几百条时直接全批量训练也行。MaxEpochs80是常规起点小数据集50到100之间足够。这个项目的数据集不大50个epoch以内基本收敛设太多只会白白等待。卷积核数量是网络宽度的重要参数。从8开始翻倍到16参数量翻倍特征表达能力变强但训练时间也变长。如果你的分类任务比较简单二分类、特征区分度高的数据集8个卷积核完全够用。4.2 训练过程监控loss和准确率曲线怎么判断收敛训练时打开Plots, training-progress之后Matlab会实时显示loss曲线和准确率曲线。这里有一个新手很容易误判的情况训练集准确率到95%以上但验证集准确率一直上不去这是过拟合的典型信号不是训练成功。% 训练完成后画出混淆矩阵 YPred classify(net, XTest); figure; plotconfusion(YTest, YPred);除了看曲线我习惯在训练结束后立刻验证集上跑一次confusionmat按类别维度看错误分布。如果某一类的准确率特别低大概率是该类样本数量太少或者特征与其他类重叠严重。一个容易被忽略的检查点是验证集必须和训练集做完全相同的预处理。数据归一化时的min和max只能用训练集统计再把测试集也按同样的min和max缩放。如果从readmatrix开始验证集和训练集是分开读取的这一步就很容易出错。4.3 模型的保存与加载训练完怎么复用训练跑完模型默认在内存里关了Matlab就丢了。保存模型是必做的一步课程设计答辩前保存不好演示现场就得重新训练几十分钟。% 保存模型 save(cnn_attention_model.mat, net); % 下次使用时加载 load(cnn_attention_model.mat, net); % 对未知数据进行预测 YPred classify(net, XNew);注意2019a之后推荐用net trainNetwork(...)返回的对象直接保存老版本有少量用net的底层结构不一致的问题保存时最好加一条net assembleNetwork(net)再存这样导出的模型不依赖训练过程中的中间变量。5. 避坑与常见问题排查跑Matlab代码必看的六件事5.1 现象2019a以下版本执行readmatrix报“未定义函数”原因readmatrix是R2019a才引入的API低版本没有这个函数。同样的情况还有normalize函数低版本不存在。解决替换为xlsread兼容写法% 兼容2014/2019a的读取方式 [~, ~, rawData] xlsread(数据集.xlsx); data cell2mat(rawData);5.2 现象运行analyzeNetwork时报“输入尺寸不匹配”原因最常见的是输入层尺寸与数据集的特征数对不上。数据集.xlsx里的特征数可能是120、128或256如果你把它resize成16×8要求特征数正好是128如果不是就会报错。解决先打印特征维度再动态计算输入层尺寸featureDim size(X, 2); h sqrt(featureDim); % 如果不能开平方根就用factor分解成两个接近的整数 factors factor(featureDim); if numel(factors) 1 h 16; w 8; else h 1; for i 1:2:numel(factors) h h * factors(i); end w featureDim / h; end imageInputLayer([h w 1], Name, input)5.3 现象训练几轮后loss卡在某个值不动原因学习率过大导致loss震荡到平台期或者Sigmoid输出饱和梯度消失。注意力模块的Sigmoid层输出接近0或1时梯度接近于0整个网络都学不动。解决先把学习率降到0.0003试试如果还是不动检查注意力模块全连接层初始化权重在Sigmoid之前加上LayerNormalization或batchNormalizationLayer防止输出饱和。5.4 现象GPU显存占用过高OOM报错原因这个配置跑的是图片尺寸如果数据量特别大或者把imageInputLayer设成了[64 64 3]而数据集是高清图显存很容易爆。解决减小MiniBatchSize从32降到16同时检查是否每个卷积层都加了Paddingsame没加的话特征图逐层缩小显存占用会小一些再不行就用CPU训练表格数据量级CPU完全跑得动。5.5 现象注意力模块的参数不更新训练过程权重始终不变原因如果用的是自定义循环且参与梯度计算的只有卷积层参数注意力模块的两个全连接层忘记传进learnables里了梯度自然不会更新。解决打印一次训练前后的权重值做验证% 检查注意力模块权重是否更新 wBefore params.se_fc1.Weights; trainNetwork(...); % 或自定义训练循环 wAfter params.se_fc1.Weights; disp(max(abs(wAfter - wBefore), [], all)); % 输出应远大于0如果输出是0说明这个层被冻结了检查dlnetwork的Learnables是否包含se_fc1和se_fc2的权重和偏置。6. 进阶用法把CNN-attention迁移到自己的数据集与模型验证6.1 数据格式转换从xlsx到mat、从灰度图到特征矩阵这个项目的数据集是.xlsx格式但实际应用中很多场景是图片。把图片数据集转成CNN可用的格式是迁移使用中最常见的需求。思路是把每张图片resize到固定尺寸展平后拼成特征矩阵再用和3.1节相同的方式读入。% 图片数据集转特征矩阵 imageDir 你的图片文件夹; files dir(fullfile(imageDir, *.png)); numImages numel(files); featureMatrix zeros(numImages, 128); for i 1:numImages img imread(fullfile(imageDir, files(i).name)); img imresize(img, [16 8]); % 缩放到输入层尺寸 if size(img, 3) 3 % 彩色图转灰度 img rgb2gray(img); end featureMatrix(i, :) img(:); % 展平成特征向量 end迁到自己数据集时图像预处理的三要素是resize、灰度化和归一化缺一个都会导致模型效果异常。如果原数据集本身就是特征表格式的那直接把xlsx换成你的csv或xlsx文件就行但要保证数据里没有缺失值。6.2 模型验证的几个技巧混淆矩阵、分类报告与注意力可视化训练完模型只能算第一步课程设计答辩或者写报告时验证部分往往是评分的重要依据。除了准确率建议至少输出混淆矩阵和每个类别的精确率、召回率。这两张图放出来整个实验的说服力会明显提升% 混淆矩阵 YPred classify(net, XTest); figure; plotconfusion(YTest, YPred); % 分类准确率逐类统计 [C, order] confusionmat(YTest, YPred); precision diag(C) ./ sum(C, 2); recall diag(C) ./ sum(C, 1); f1 2 * precision .* recall ./ (precision recall); table(order, precision, recall, f1)注意力可视化的部分这个项目的四个PNG图片里就包含了网络结构和实验效果的展示。如果你想自行可视化注意力权重有一个轻量方案取训练好的se_fc2层权重归一化后以柱状图或热力图画出来能看到哪些通道被赋予了高权重这个结果可以直接用作“注意力机制有效性的可视化证据”。从那以后我每次拿到一个CNN-attention的Matlab项目都会强制走一遍先跑通main.m跑出基准结果再固定随机种子做一组对比实验加注意力 vs 不加注意力最后补上混淆矩阵和注意力权重图。做完这三件事模型效果是否真实提升、注意力机制到底有没有起作用就一目了然了。希望这个拆解对你跑通项目、写好报告有帮助。本文还有配套的精品资源点击获取

相关新闻

定日镜场优化设计模型:光学效率计算与布局优化

定日镜场优化设计模型:光学效率计算与布局优化

简介:这是一份面向数学建模参赛者与太阳能光热利用方向学习者的定日镜场优化设计完整方案,基于2023年高教社杯全国大学生数学建模竞赛A题整理,兼顾光学、热力学与工程约束,帮助读者理解从太阳轨迹建模、镜面朝向求解到成本效益评估…

2026/10/18 23:52:42 阅读更多 →
Flutter xml_rpc适配鸿蒙HarmonyOS:打通遗留系统跨语言集成

Flutter xml_rpc适配鸿蒙HarmonyOS:打通遗留系统跨语言集成

把 Flutter 组件 xml_rpc 适配到鸿蒙 HarmonyOS,并让它承担起跨语言后端集成与遗留系统通信的重任,这件事听起来像“老古董遇上新平台”,但实际做起来反而有种打通经脉的爽快感。我这次接到的需求很典型:某个内部系统已经稳定运行…

2026/10/18 23:52:42 阅读更多 →
Niagara框架楼宇自控实战:从Modbus采集到跨系统集成避坑指南

Niagara框架楼宇自控实战:从Modbus采集到跨系统集成避坑指南

简介:这份PDF文档面向楼宇自动化、工业控制与能源管理等领域的集成商、开发者及技术学习者,系统介绍Tridium公司研发的开放自控软件框架Niagara AX。内容围绕该平台如何解决智能设备因采用非IP通信协议而难以互联互通的问题展开,涵盖软件模型…

2026/10/18 23:52:42 阅读更多 →

最新新闻

基于LSTM多时间序列特征提取的道岔故障诊断项目实战

基于LSTM多时间序列特征提取的道岔故障诊断项目实战

简介:本资源面向计算机、人工智能、自动化、通信工程等专业的在校学生与教师,以及从事轨道交通信号故障诊断的工程人员,提供一套基于LSTM多时间序列特征提取的道岔故障诊断完整实现方案。项目以Python为开发语言,围绕道岔动作电流…

2026/10/19 5:17:15 阅读更多 →
从代码补全到工作流入口:AI接管开发流程的边界与准备

从代码补全到工作流入口:AI接管开发流程的边界与准备

1. 从"补全代码"到"接管流程":这个信号为什么值得关注大多数人对代码生成工具的认知还停留在"你写注释,它补全函数"的阶段。过去两年,各类代码助手确实主要围绕单点提效做文章——补全一行、生成一个函数、解释…

2026/10/19 5:17:15 阅读更多 →
diagram-design 自研实践:图形编辑器的数据建模与渲染核心

diagram-design 自研实践:图形编辑器的数据建模与渲染核心

1. 先搞清楚 diagram-design 这类项目到底要交付什么第一次看到 “diagram-design” 这个标题,大部分人的第一反应是“做个画图工具”。这个理解没错,但不够准确。我在帮人评审过不少类似项目,也自己动手搭过几个图形编辑器的原型&#xff0c…

2026/10/19 5:17:15 阅读更多 →
AI大模型破解医疗数据困境:从数据治理到智能应用落地

AI大模型破解医疗数据困境:从数据治理到智能应用落地

做了几年医疗信息化,我最大的感触是:这个行业最不缺的是数据,最缺的也是数据。说不缺,是因为随便一家不算太大的医院,HIS、LIS、RIS、EMR这些系统里都躺着十年以上的病历、报告和检查记录,论体量完全称得上…

2026/10/19 5:17:15 阅读更多 →
业务驱动的AI Agent工程化评测体系设计

业务驱动的AI Agent工程化评测体系设计

1. 项目概述:这不是一个“智能体评测平台”,而是一套业务驱动的工程验证体系“货拉拉业务 Agent 评测平台”这个标题里,“货拉拉”是行业锚点,“业务”是核心定语,“Agent”不是泛指AI助手,而是特指在真实货…

2026/10/19 5:17:15 阅读更多 →
用UiPath自动化禁用Windows更新:批量节点策略治理与踩坑实录

用UiPath自动化禁用Windows更新:批量节点策略治理与踩坑实录

某天上午,我打开一批测试节点的事件日志,看到整齐划一的"Windows更新已完成安装,正在重启"。前一天夜里,跑批任务刚跑到一半,机器就重启了,监控平台黄了一串。值班的同事说,这已经不是…

2026/10/19 5:16:15 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 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/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 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/19 2:54:50 阅读更多 →
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/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练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/18 12:16:16 阅读更多 →