import math
import numpy as np
import matplotlib.pyplot as plt
def MAE(true, pre):
true = (true).detach().numpy().copy().reshape((-1, 1))
pre = (pre).detach().numpy().copy().reshape((-1, 1))
re = np.abs(true - pre).mean()
return re
#true与pre是pytorch张量
#.detach()方法用于创建一个新的张量,与原始张量共享信息。新张量没有梯度信息,不会影响梯度计算
#.reshape((-1,1)) 将数组形状调整为列数为1,行数根据原数组总元素计算得出
def RMSE(true, pre):
true = (true).detach().numpy().copy().reshape((-1, 1))
pre = (pre).detach().numpy().copy().reshape((-1, 1))
re = math.sqrt(((true - pre) ** 2).mean())
return re
def MAPE(true, pre):
true = (true).detach().numpy().copy().reshape((-1, 1))
pre = (pre).detach().numpy().copy().reshape((-1, 1))
e = np.abs((true - pre) / true)
re = e.mean() * 100
return re
MAE,RMSE与MAPE的pytorch实现
最新推荐文章于 2024-06-04 10:10:03 发布