gpt4 book ai didi

memory-management - 如何在 TensorFlow 分析器中获得详细的内存分解?

转载 作者:行者123 更新时间:2023-12-04 08:57:48 25 4
gpt4 key购买 nike

我正在使用新的 TensorFlow profiler在我的神经网络中分析内存使用情况,我在具有 12GB RAM 的 Titan X GPU 上运行该网络。这是我分析主训练循环时的一些示例输出:

==================Model Analysis Report======================
node name | requested bytes | ...
Conv2DBackpropInput 10227.69MB (100.00%, 35.34%), ...
Conv2D 9679.95MB (64.66%, 33.45%), ...
Conv2DBackpropFilter 8073.89MB (31.21%, 27.90%), ...

显然这加起来超过 12GB,所以这些矩阵中的一些必须在主内存中,而另一些则在 GPU 上。我很想看到在给定步骤中哪些变量的详分割类。是否可以通过分析器或其他方式获得有关各种参数存储位置(主内存或 GPU 内存)的更详细信息?

最佳答案

“请求的字节数”显示所有内存分配的总和,但可以分配和取消分配该内存。因此,仅仅因为“请求的字节”超过 GPU RAM 并不一定意味着内存正在传输到 CPU。

特别是,对于前馈神经网络,TF 通常会保留前向激活,以使反向传播有效,但不需要保留中间反向传播激活,即每一层的 dL/dh,因此它可以丢弃这些完成这些后的中间体。所以我觉得在这种情况下你关心的是Conv2D使用的内存,小于12GB。

您还可以使用时间线来验证总内存使用量从未超过 12 GB。

关于memory-management - 如何在 TensorFlow 分析器中获得详细的内存分解?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46961101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com