tensor loss function 采坑
这种DIY的函数不管用,应该每次返回的都是刚构建的tonsor。
他的梯度保存不下来。
# import math # # L2 function mean squaril error(MAE) # error = 0 # if pred.shape[0] == target.shape[0]: # for i in range(pred.shape[0]): # x = pred[i].item() # y = target[i].item() # e = math.pow((x-y),2) # error += e # # meanError = error*1.0/pred.shape[0] # # print(meanError) # return torch.tensor(meanError, requires_grad = True)
这也是不行的
# L1 mean absolute error (MAE) # error = 0 # if pred.shape[0] == target.shape[0]: # for i in range(pred.shape[0]): # x = pred[i].item() # y = target[i].item() # e = abs(x-y) # error += e # meanError = error*1.0/pred.shape[0] # return torch.tensor(meanError, requires_grad = True)
应该这样写:
return torch.mean((pred - target)**2)
通过torch.mean的方法,计算tensor
以上的笔记,记录于HW01
https://speech.ee.ntu.edu.tw/~hylee/ml/ml2021-course-data/hw/Pytorch/Pytorch_Tutorial_1.pdf
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?