我正在尝试在没有 GPU 支持的情况下在 SLF 6 上使用 Python 2.7 运行 tensorflow 1.13.1。当我启动我的模型时,tensorflow 似乎正在生成多个子进程并并行运行我的模型,试图加载系统中的每个核心。虽然在大多数情况下这是人们可能想要的,但这不是我的情况。我只想在单核上运行我的模型。
我试过设置这些变量:
export OMP_NUM_THREADS=1
export KMP_BLOCKTIME=0
export KMP_AFFINITY=granularity=fine,verbose,compact,1,0
不同的组合,但都无法实现单核运行。
有没有办法在“哑”单进程模式下运行 Tensorflow?
tf.ConfigProto
Protocol Buffer 中有两个关于并行度的可配置选项inter_op_parallelism_threads
和intra_op_parallelism_threads
。要使用单个进程,我认为你可以尝试:
import tensorflow as tf
config = tf.ConfigProto(intra_op_parallelism_threads=1,
inter_op_parallelism_threads=1,
allow_soft_placement=True)
还有其他可能的并行形式,参见 mrry@ 的回答是这个 thread .
我是一名优秀的程序员,十分优秀!