我正在尝试加载ResNext50,在CenterNet之上,我可以使用Google Colab或Kaggle的GPU进行加载。但是,
想知道这个网络需要多少GPU内存(VRAM)?
使用RTX 2070并留有可用的5.5 GB VRAM(8 GB以上)时,我无法加载它。
批量大小为1,#of工人为1,所有值均设置为最小值。作业系统:Ubuntu 18.04(使用PyTorch)
在TensorFlow中,我知道我可以限制VRAM的数量(尽管我没有足够的VRAM,这使我能够加载和运行网络),但是在PyTorch中,我还没有找到此功能。
任何想法如何解决?
model
获得torchfunc
的大小(以字节为单位(免责声明,我是作者)。torchfunc
无依赖性
此功能非常简单易用,您可以复制它,import torchfunc # Assuming model is loaded print(torchfunc.sizeof(model))
确切尺寸
仅是模型的大小,在see source code和
forward
期间会有更多的VRAM内存使用情况,具体取决于backward
的大小。您可以尝试使用batch
库进行估算(尽管不确定它是否适用于您的网络)。清除缓存
您应该在运行网络之前清除缓存(对于我来说,有时重新启动工作站会有所帮助),因为您肯定有足够的内存。使用GPU杀死进程也应有所帮助。
再次pytorch_modelsize可以帮助,发出以下命令:
torchfunc