在本系列的前几篇文章中,我使用win11+docker配置了pytorch2.3,并成功调用了GPU进行训练。随后,我在其基础上配置了Anomalib,使用了PatchCore训练了MVTec的缺陷检测以及我自己的数据集,取得了很高的准确率(99.7%)。
我将代码分享给了同事,在他训练期间却报错显存不足。我们的显存都是8GB,这时我才发现,在训练过程中我的显存占用为11G,其中8G为专用显存(3070显卡显存为8G),其余占用了3G的共享显存,但我并没有对共享显存进行过专门的设置。经过查阅资料,原来Win10系统默认将一半的内存作为共享显存。
他不能调用共享显存的原因可能有这两个:
1. 他的显卡驱动版本比较低;
2.我的训练环境是通过docker配置的,他是直接在windows训练的。
如果您的代码遇到显存不足的问题,手头又没有适合的GPU环境,不妨试一试共享显存的方法。