pytorch踩坑笔记

最近开始写了自己项目的第一个pytoch神经网络,其实官方的文档和案例已经写的很不错了,但是还是有很多的坑,尤其是在数据集以及损失函数方面有问题,记录一下(顺序乱,请酌情使用Ctrl+F):
1、Loss在使用之前要实例化。
这个其实很容易理解,无论是我们自己定义loss类还是直接使用torch的内置损失函数,都是类的方法调用,因此在使用之前要进行实例化
这里贴出我使用的损失函数类,用于颜色恒常性研究的(Color constancy),也希望大佬们指点一下看看有没有写错,使用的是常用的角度误差函数(训练的时候loss有的时候出现nan,现在还不确定是不是损失函数写错了,过后更新)

#定义损失函数
class angleloss(nn.Module):
    def __init__(self):
        super().__init__()

    def forward(self,w1,w2):
        z = torch.mul(w1,w2)
        z = torch.sum(z,dim = 2)

        m1 = torch.pow(w1,2)
        m1 = torch.sum(m1, dim = 2)
        m1 = torch.pow(m1,0.5)

        m2 = torch.pow(w2,2)
        m2 = torch.sum(m2, dim = 2)
        m2 = torch.pow(m2,0.5)

        m = torch.mul(m1,m2)

        out = torch.div(z,m)
        out = torch.acos(out)
     
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值