You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MATLAB中捕获每个epoch的RMSE值并导出至Excel?

解决深度学习图像回归中获取Epoch级RMSE并导出的问题

先纠正你的核心问题

你当前的代码逻辑完全错误:每次循环都从头训练网络(相当于训练了numEpochs个独立的单epoch模型),根本不是记录同一个模型训练过程中每个epoch的RMSE。下面是正确的实现方案:


方案1:利用trainNetwork返回的训练信息直接获取RMSE

MATLAB的trainNetwork返回的info结构体包含训练过程的所有指标数据,只要在训练选项中配置好RMSE作为性能指标,就能直接提取每个epoch的结果:

步骤1:配置训练选项

在创建options时,指定回归任务的性能指标为RMSE,并开启训练信息记录:

% 基于你已定义的layers,补充配置训练选项
options = trainingOptions('adam', ... % 替换成你实际使用的优化器
    'MaxEpochs', numEpochs, ...
    'ValidationData', [], % 有验证集就填{XVal,YVal},无则留空
    'Metrics', 'RMSE', ... % 指定跟踪RMSE指标
    'Verbose', true, ...
    'Plots', 'training-progress'); % 可选,可视化训练进度

步骤2:单次训练获取所有Epoch的RMSE

仅需训练一次网络,就能从返回的info中提取所有epoch的RMSE:

[net, info] = trainNetwork(XTrain, YTrain, layers, options);

% info.TrainingRMSE是存储每个epoch训练集RMSE的数组
rmseValues = info.TrainingRMSE;

方案2:自定义回调函数记录RMSE(适配自定义计算逻辑)

如果你的calculateRMSE是自定义函数(和MATLAB内置逻辑不同),可以用回调函数在每个epoch结束时计算并记录:

% 初始化存储RMSE的数组
rmseValues = zeros(numEpochs, 1);

% 定义epoch结束时执行的回调函数
epochCallback = @(net, info) recordCustomRMSE(net, info, XTrain, YTrain, rmseValues);

% 配置训练选项,添加回调
options = trainingOptions('adam', ...
    'MaxEpochs', numEpochs, ...
    'ValidationData', [], ...
    'Verbose', true, ...
    'Plots', 'training-progress', ...
    'EpochEndFcn', epochCallback); % 每个epoch结束触发回调

% 启动训练
[net, info] = trainNetwork(XTrain, YTrain, layers, options);

% 自定义RMSE记录函数
function recordCustomRMSE(net, info, XTrain, YTrain, rmseValues)
    YPred = predict(net, XTrain);
    rmseValues(info.Epoch) = calculateRMSE(YTrain, YPred);
end

导出数据到.xlsx或.csv

拿到rmseValues数组后,转换成表格再导出:

% 转换为带列名的表格,可选添加Epoch列
rmseTable = array2table(rmseValues, 'VariableNames', {'RMSE'});
rmseTable.Epoch = (1:numEpochs)';

% 导出到Excel
writetable(rmseTable, 'epoch_rmse.xlsx');

% 导出到CSV
writetable(rmseTable, 'epoch_rmse.csv');

如果不需要表格格式,直接导出数组可以用writematrix:

writematrix(rmseValues, 'epoch_rmse.csv', 'WriteMode', 'overwrite');

内容的提问来源于stack exchange,提问作者Caio Nicácio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 12:17:27