Pytorch深度学习遇到的坑

pytorch深度学习遇到的坑

记录学习过程中遇到的一些问题以及解决方案。

Q1:pytorch自定义损失函数类无法调用

在继承了nn.Module的情况下,并且函数内数学运算均为torch内置函数(运算过程不能够破坏pytorch计算图,否则梯度无法正确反向传播),依旧无法调用:

  1. 初始化有问题 可以尝试在类构造函数末尾加入return;
  2. 调用方式错误 在调用构造类对象时,不能直接进行调用,要先构造类对象,然后使用类对象来进行损失的计算;

Q2:Out of memory显存不够

显存的运算和batch size以及图像大小息息相关,显存不够的解决办法:
1.调低batch size
2.将图像进行resize尺寸变小

Q3:训练损失几乎无变化

  1. 原始数据集数据不好 原始数据集标注对应关系有问题,网络将无法学习对应关系;
  2. 网络模型过于简单 对于复杂关系的学习,模型过于简单参数过少,无法匹配对应关系,需要换一个更复杂的模型;
  3. 学习率设置不合理 过大或者过小都会影响网络的学习效果,因此需要调整学习率;
  4. 数据量很大 若数据集数据量很大,则需要等待一定的时间损失才会下降;
  5. Batch Size设置不合理 batch size设置过小,计算损失的数据量不够充分;
  6. 数据集量过小 数据过少,容易出现过拟合。
  7. 数据从卷积网络中输出未归一化 需要在网络后加入batch normalization

Q4:训练集损失小于验证集

1.正则化过度…To Do

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值