首页 > 解决方案 > 为什么即使同时设置 inter_op_parallelism_threads 和 intra_op_parallelism_threads = 1,Tensorflow 也会产生多个线程(线程数 262)

问题描述

我正在运行一个简单的 Tensorflow 程序(Keras API)来在单个图像上训练模型(仅限 CPU)。这里的目标是了解 Tensorflow 如何在模型和/或数据并行性方面实现前向/后向传递。最初使用默认参数运行时,VTune Amplifier(英特尔分析器)显示生成了 421 个线程。然后我通过将 inter_op_parallelism_threads 和 intra_op_parallelism_threads 都设置为 1 来重新运行,以强制它在单个内核上运行。即便如此,VTune 仍显示生成了 262 个线程。有人可以帮我理解为什么会产生这么多线程吗?这与使用 Python API for Tensorflow 有关吗?

我在 CentOS 上使用 Tensorflow 1.13 和 python 3.6。

标签: pythontensorflow

解决方案


推荐阅读