gpt4 book ai didi

python - Tensorflow - 使用时间线进行分析 - 了解限制系统的因素

转载 作者:太空狗 更新时间:2023-10-29 20:31:50 29 4
gpt4 key购买 nike

我试图理解为什么每次训练迭代需要大约 1.5 秒。我使用了描述的追踪方法 here .我正在研究 TitanX Pascal GPU。我的结果看起来很奇怪,似乎每次操作都比较快,并且系统在操作之间的大部分时间都处于空闲状态。我如何从中了解限制系统的因素。 Regular Batch Size然而,当我大幅减少批量大小时,差距似乎确实缩小了,正如在这里可以看到的那样。

Small Batch Size不幸的是,代码非常复杂,我无法发布具有相同问题的小版本

有没有办法从探查器中了解是什么在操作之间的间隙中占用了空间?

谢谢!

编辑:

仅在 CPU 上我没有看到这种行为: CPU Only

我正在运行一个

最佳答案

这里有一些猜测,但如果没有我可以运行和调试的独立复制品,很难说。

  • 您的 GPU 内存可能用完了吗?一个信号是,如果您在训练期间看到 Allocator ... 内存不足 形式的日志消息。如果您用完了 GPU 内存,分配器就会退出并等待,希望有更多内存可用。这或许可以解释如果您减小批量大小,运算符(operator)之间的巨大差距就会消失。

  • 正如 Yaroslav 在上面的评论中所建议的,如果您仅在 CPU 上运行模型会怎样?时间轴是什么样的?

  • 这是分布式训练作业还是单机作业?如果是分布式作业,单机版本是否表现出相同的行为?

  • 您是多次调用 session.run() 或 eval(),还是每个训练步骤只调用一次?每个 run() 或 eval() 调用都会耗尽 GPU 管道,因此为了提高效率,您通常需要将计算表达为一个大图,只有一个 run() 调用。 (我怀疑这是你的问题,但我提到它是为了完整性。)

关于python - Tensorflow - 使用时间线进行分析 - 了解限制系统的因素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43829571/

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