0

我已经开始在 TF(基于 VGG16)中实现fast-rcnn。在学习时,如果我尝试在所有层上反向传播,我会遇到记忆问题。但是测试效果很好。(我有一个 6G 内存的 Gforce GTX 1060)

我想知道怎么来的?TF 保存是否需要两次保存参数进行训练?

4

2 回答 2

5

这是因为激活。在前向传播期间,您只需要存储最后一层激活,因此内存使用与深度无关。要计算梯度,您需要存储所有层的激活,因此内存成本会随着网络的深度而增长。

在此处输入图像描述

于 2017-05-18T16:24:37.217 回答
2

反向传播步骤中的内存问题可能会出现,因为:

每个反向传播步骤花费的内存和计算时间大约是前向传播步骤的两倍。

取自这个视频,它也有一个很好的图表来解释它。

于 2017-05-18T17:31:43.793 回答