本节我们介绍一种借助开源的可视化工具Octave分析相对误差的方法。
首先需要做好以下准备工作:
以下表数据为例,介绍使用Octave工具进行相对误差分析的方法。
以下只进行基本操作命令介绍,关于Octave工具的更多用法可以参考官方文档 https://octave.org/doc/interpreter/。
m = dlmread('data.csv', ',');
将文件中的数据载入矩阵m,data.csv是数据文件的名称, ','是文件分隔符。
input = m(4:8940, 7); //读取第7列的全部数据 gpu_output = m(4:8940, 13); //读取第13列全部数据 model_output = m(4:8940, 19); //读取第19列全部数据
gpu_diff = abs(model_output - gpu_output); //计算绝对误差 gpu_error = gpu_diff / gpu_output; //计算相对误差
此处gpu_output是真实值,model_output是测量值。
plot(input, gpu_error, 'o'); xlabel('x'); //x轴标签 ylabel('value'); //y轴标签 title(''Diff of model and cpu or gpu); //title hold on; //在同一张上面再次绘制 plot(x, cpu_error, 'o'); //这里省略了cpu_error的计算过程,和gpu_error同理 hold off; Axis([0 1 -0.002 0.002]); //x y 轴区间 legend('gpu_error', 'cpu_error'); //对颜色注释
可视化结果如下图所示。