图像增广

https://zh-v2.d2l.ai/chapter_computer-vision/image-augmentation.html

若出现报错certificate verify failed: certificate has expired,在代码前添加
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
即可解决
原文出处:https://blog.csdn.net/weixin_41870042/article/details/120752564

3 Likes

为什么反向传播是用 l.sum().backward(),而第三章3.6用的是 l.mean().backward(),损失函数都是 nn.CrossEntropyLoss()啊

这里的损失函数用的也是交叉熵损失吧 sum和mean在backward的时候应该不会影响到最终结果吧

image

请问这一节中net在多个gpu上设置模型,为什么还要转移到GPU0上?但是在12.6节上却没有转移??转移到GPU0上的目的是什么?

5 Likes

需要科学上网吧。。。。。。。。。。。。。。。

使用图像增广的结果:loss 0.181, train acc 0.937, test acc 0.835
不使用图像增广的结果:loss 0.086, train acc 0.971, test acc 0.824
对比可以看出,使用图像增广时,train acc更小,而 test acc更大,train loss 更小,这说明图像增广减轻了过拟合

1 Like

请问老哥搞清楚为什么了吗,我同样有此疑问

问题1.d2l 没有image包 ,解决方法:在当前文件from PIL import Image , 将d2l.image.open()换成image.open()。
问题2. AssertionError :‘detach ’。 PIL的image类 没有detach属性。traceback定位到image.show里面用ax.imshow(d2l.numpy(img)) ,numpy用lamba表达式调用了detach方法。解决方法:自己把image.show源代码复制到当前文件,去掉d2l.numpy() ,把d2l.show_images改成show_images。
问题3.AttributeError: module ‘d2l.torch’ has no attribute ‘resnet18’。解决方法:把d2l.resnet18(10, 3)改成torchvision.models.resnet18(10, 3)。

2 Likes

image
把亮度色调那些变换都开,设置为0.5,测试精度直接增加了1个多点

1 Like

感谢分享!我也遇到了这个问题,多亏你的方案解决了!

不加这个转移步骤会报错吧,需要手动把模型转移到GPU上,不然是在CPU上

好人一身平安,好人一身平安,好人一身平安,

如果你使用科学上网的话,你会发现44秒就下载完了。

先移去GPU0作為主来源, 後続的訓練nn.DataParallel会自動分配去其他GPU.