小编Jih*_*Seo的帖子

使用 CPU 的“Keras backend + Tensorflow”和“来自 Tensorflow 的 Keras”有什么区别(在 Tensorflow 2.x 中)

我想限制 CPU 内核和线程。所以我找到了三种方法来限制这些。

1) “Keras 后端 + Tensorflow”

from keras import backend as K
import tensorflow as tf

config = tf.ConfigProto(intra_op_parallelism_threads=2, \ 
                        inter_op_parallelism_threads=4, \
                        allow_soft_placement=True, \
                        device_count = {'CPU': 1})
session = tf.Session(config=config)
K.set_session(session)
Run Code Online (Sandbox Code Playgroud)

2) “来自 Tensorflow 的 Keras”

import tensorflow as tf
from tensorflow import keras

tf.config.threading.set_intra_op_parallelism_threads(2)  
tf.config.threading.set_inter_op_parallelism_threads(4) 
Run Code Online (Sandbox Code Playgroud)

3) “来自 Tensorflow 的 keras”

import os

os.environ['TF_NUM_INTRAOP_THREADS'] = '2'
os.environ['TF_NUM_INTEROP_THREADS'] = '4'
Run Code Online (Sandbox Code Playgroud)

这三种方式影响一样吗?

最后我理解了我在下面写的参数

  • intra_op_parallelism_threads("CPU 核心数")
  • inter_op_parallelism_threads("线程数")

这是正确的吗?如果我错过了理解,请告诉我。

谢谢你。

python keras tensorflow2

5
推荐指数
1
解决办法
171
查看次数

标签 统计

keras ×1

python ×1

tensorflow2 ×1