作为项目的一部分,我需要管理用张量流编写的 CNN 使用的线程数,从而避免并行化。阅读文档后,我无法准确理解其工作原理。
我已经通过直接使用“任务集”限制程序来限制线程数,但我感觉我很困惑。有人可以帮我澄清一下吗? 预先感谢。
我需要管理用以下语言编写的 CNN 使用的线程数 张量流,从而避免并行化
如果您希望使用 TensorFlow 管理卷积神经网络 (CNN) 中的并行化级别并专门控制所使用的线程数量,您可以调整环境变量
TF_NUM_INTRAOP_THREADS
。该变量指示为操作内并行性分配的线程数量,处理单个操作内的并行执行(例如矩阵乘法)。
我已经通过直接限制线程数来限制线程数 带有“任务集”的程序,但我的印象是我得到了 困惑。
如果您已经使用“任务集”限制了线程数量,但仍然遇到混乱或问题,则可能有其他因素影响线程行为。
TensorFlow 提供了一系列环境变量,允许用户微调其行为。除了 TF_NUM_INTRAOP_THREADS 之外,您还可以探索一些其他变量,例如 TF_NUM_INTEROP_THREADS 和 OMP_NUM_THREADS,它们会影响 TensorFlow 使用的 OpenMP 线程。修改这些参数可以提供对并行特性的额外控制。