需求
当前测试方案中,当spec cpu 2017测试执行过程中出现报错时,spec cpu 2017测试程序会强制中断,不会给出已执行完成的任务(spec cpu 2017 intrate包含10个任务,分别为:500.perlbench、502.gcc、505.mcf、520.omnetpp、523.xalancbmk、525.x264、531.deepsjeng、541.leela、548.exchange2、557.xz)的成绩,无法评估spec cpu 2017的总成绩,spec cpu 2017测试需要的执行时间长达40个小时以上,如果中途执行报错中断,无法获取总分数,需要重新执行,严重影响spec cpu 2017测试执行效率。
预测方法
- 通过获取大量的SPEC CPU 2017测试总成绩,获取每个任务的执行分数与总成绩的比例值,并取所述比例值的平均值作为换算比率,实现在SPEC CPU 2017测试中断的情况下,利用现有已完成的相应任务的执行分数预测总分数,从而提高测试效率,避免影响根据SPEC CPU 2017测试总分数进行的调试。
- 对历史数据进行训练并建立多元线性回归模型进行预测
- python实现
import random
import numpy as np
import matplotlib.pyplot as plt
#加载数据
def load_exdata(filename):
data = []
with open(filename, 'r') as f:
for line in f.readlines():
line = line.split(',')
current = [float(item) for item in line]
data.append(current)
return data
data = load_exdata('cfp2017_ML.csv')
data = np.array(data, np.float64)
# 特征缩放
def featureNormalize(X):
X_norm = X
mu = np