8个计算机视觉深度学习中常见的Bug
_ = plt.plot(losses) 曲率看起来很好,但是交叉熵的损失值-300是不可预料的。是什么问题? 归一化处理图像效果很好,但是mask没有:需要手动缩放到 [0,1]。 model_b = UNet(3, 1) optimizer = torch.optim.Adam(model_b.parameters(), lr=1e-3) losses = [] for t in tqdm(range(20)): loss = criterion(model_b(img), mask / 255.) losses.append(loss.item()) optimizer.zero_grad() loss.backward() optimizer.step()
_ = plt.plot(losses) 训练循环的简单运行时断言(例如 assertmask.max()<=1会很快检测到问题。同样,也可以是单元测试。 总结 测试很有必要 运行时断言可以用于训练的pipeline; 可视化是一种幸福 复制粘贴是一种诅咒 没有什么是灵丹妙药,一个机器学习工程师必须总是小心(或只是受苦)。 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |