gpt4 book ai didi

python - DataLoader num_workers 与 torch.set_num_threads

转载 作者:行者123 更新时间:2023-12-05 05:10:36 29 4
gpt4 key购买 nike

这两个选项之间发生的并行化有区别吗?我假设 num_workers 只关心数据加载的并行化。但是一般来说,设置 torch.set_num_threads 是为了训练吗?试图了解这些选项之间的区别。谢谢!

最佳答案

DataLoader 的 num_workers 指定使用多少个并行工作器来加载数据并运行所有转换。如果您正在加载大图像或进行昂贵的转换,那么您可能会遇到 GPU 处理数据速度很快而 DataLoader 太慢而无法持续为 GPU 提供数据的情况。在这种情况下,设置更多的 worker 会有所帮助。我通常会增加这个数字,直到我的 epoch 步长足够快为止。另外,附带提示:如果您使用的是 docker,通常您希望将 shm 设置为 GB 中 1 到 2 倍的工作人员数量,以用于像 ImageNet 这样的大型数据集。

torch.set_num_threads 指定用于并行化 CPU 绑定(bind)张量操作的线程数。如果您在大多数张量操作中使用 GPU,那么此设置并不重要。但是,如果你有张量,你保留在 cpu 上并且你正在对它们进行大量操作,那么你可能会从设置中受益。不幸的是,Pytorch 文档没有指定哪些操作将从中受益,因此请查看您的 CPU 利用率并调整此数字,直到您可以将其最大化。

关于python - DataLoader num_workers 与 torch.set_num_threads,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56463317/

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