在RTX2070上加载ResNet50-内存不足

问题描述 投票:2回答:1

我正在尝试加载ResNext50,在CenterNet之上,我可以使用Google Colab或Kaggle的GPU进行加载。但是,

  1. 想知道这个网络需要多少GPU内存(VRAM)?

  2. 使用RTX 2070并留有可用的5.5 GB VRAM(8 GB以上)时,我无法加载它。

批量大小为1,#of工人为1,所有值均设置为最小值。作业系统:Ubuntu 18.04(使用PyTorch)

在TensorFlow中,我知道我可以限制VRAM的数量(尽管我没有足够的VRAM,这使我能够加载和运行网络),但是在PyTorch中,我还没有找到此功能。

任何想法如何解决?

deep-learning gpu pytorch resnet
1个回答
0
投票
您可以使用第三方库model获得torchfunc的大小(以字节为单位(免责声明,我是作者)。

torchfunc

无依赖性

此功能非常简单易用,您可以复制它,import torchfunc

# Assuming model is loaded
print(torchfunc.sizeof(model))

确切尺寸

仅是模型的大小,在see source codeforward期间会有更多的VRAM内存使用情况,具体取决于backward的大小。您可以尝试使用batch库进行估算(尽管不确定它是否适用于您的网络)。

清除缓存

您应该在运行网络之前清除缓存(对于我来说,有时重新启动工作站会有所帮助),因为您肯定有足够的内存。使用GPU杀死进程也应有所帮助。

再次pytorch_modelsize可以帮助,发出以下命令:

torchfunc

© www.soinside.com 2019 - 2024. All rights reserved.