Deep learning 正在RTX2070上加载ResNet50-内存不足

Deep learning 正在RTX2070上加载ResNet50-内存不足,deep-learning,gpu,pytorch,resnet,Deep Learning,Gpu,Pytorch,Resnet,我正在尝试加载ResNext50,在它的CenterNet上,我可以用Google Colab或Kaggle的GPU来完成。但是, 想知道这个网络需要多少GPU内存(VRAM) 当使用RTX 2070时,其上保留有免费的5.5GB VRAM(8GB外),我无法加载它 批量大小为1,#工作人员数为1,所有设置均为最小值。操作系统:Ubuntu 18.04(使用PyTorch) 在TensorFlow中,我知道我可以限制VRAM的数量(这使我能够加载和运行网络,尽管我没有足够的VRAM),但在PyT

我正在尝试加载ResNext50,在它的CenterNet上,我可以用Google Colab或Kaggle的GPU来完成。但是,

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

  • 当使用RTX 2070时,其上保留有免费的5.5GB VRAM(8GB外),我无法加载它

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

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

    有什么办法解决这个问题吗

    使用第三方依赖关系 您可以使用第三方库(免责声明我是作者)以字节为单位获取
    模型的大小

    无依赖项 这个函数非常简单,你可以复制它

    确切尺寸 这只是型号的大小,在
    向前
    向后
    期间,VRAM内存使用量更大,这取决于
    批次的大小。您可以尝试使用library对这些进行评估(但不确定它是否适用于您的网络)

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

    再次
    torchfunc
    如果有帮助,请发出以下命令:

    import torchfunc
    
    torchfunc.cuda.reset()
    

    谢谢你,Szymon,我是def。很快会检查并更新!(顺便说一句,我认为它需要5.5GB的内存,我想我应该能够清除一些GPU内存并能够运行它)。顺便说一句,你建议用fp16重量训练来提高速度吗?是的,我不认为混合精度训练有很多缺点(在这种情况下使用
    apex
    ),也可以被认为是额外的正则化。
    import torchfunc
    
    torchfunc.cuda.reset()