答案 0 :(得分:3)
如你所说:
我的所有卷积都是5x5窗口,1x1步幅,(从第1个到第1个) 最后一个)32,64,128和256个功能。我使用的是泄漏的ReLU和2x2 最大池。 FC层由64个和3个神经元组成。
因此,网络的内存消耗如下:
Input:
640x640x3 = 1200(以KB为单位)
C1:
636x636x32 = 12.5 MB(步幅= 1工作)
P1:
635x635x32 = 12.3 MB(步幅= 1工作)
C2:
631x631x64 = 24.3 MB
P2:
630x630x64 = 24.2 MB
C3:
626x626x128 = 47.83 MB
P3:
625x625x128 = 47.68 MB
C4:
621x621x256 = 94.15 MB
P4:
620x620x256 = 93.84 MB
FC1:
64 = 0.0625 KB(可忽略不计)
FC2:
3 = 0.003 KB(可忽略不计)
Total for one image
= ~358 MB
For batch of 56 image
= 56 x 358~19.6 GB
这就是为什么您的网络无法在6 GB
上运行的原因。尝试使用某些higher stride
或lower sized image
将其调整为6 GB
空间。
它应该工作。
您可以参考this以更好地了解内存消耗计算。