使用python计算误差代码
import os
1import math
2ave_err=0.0
3max_err=0.0
4max_err_rate=0.0
5length=0
6with open("cpu_result.txt","r") as fp1, open("cuda_ppl_result.txt","r") as fp2:
7 for l1 in fp1:
8 l2 = fp2.readline()
9 l1=l1[:-2]
10 l2=l2[:-2]
11 lst = l1.split(' ')
12 lst2 = l2.split(' ')
13 #print lst
14 lst = [float(x) for x in lst ]
15 length = length + len(lst)
16 lst2 = [float(x) for x in lst2]
17 #print (lst)
18 #print (lst2)
1 for index,x in enumerate(lst):
2 y = lst2[index]
3 ave_err = ave_err + abs(x-y)
4 max_err = max(max_err,abs(x-y))
5 max_err_rate = max(max_err_rate,abs(x-y)/x)
1 print("len=",length)
2 print("max_err=",max_err)
3 print("max_err_rate=",max_err_rate*100,"%")
4 print("ave_err=",ave_err/length)
需要提供两个文件,并且两个文件的数据格式相同。