仅在不同情况下在CPU上运行Tensorflow

时间:2018-10-24 01:31:34

标签: python tensorflow

首先,我想仅在具有CPU节点的集群上运行tensorflow。因此,没有安装CUDA库,而仅安装了CPU-only版本的tensorflow。我对正确的设置有很多疑问。让我们从最基本的情况开始:

1。具有多个CPU内核的节点

从此answer开始,它建议在device_count = {'GPU': 0}中设置tf.ConfigProto,以强制代码仅在CPU上运行。由于我的平台具有GPU,因此我认为此步骤对我而言无效。 但是,我很好奇在这种设置下如何分配CPU资源。代码是否只能在1个CPU内核上运行?

所以我转向yaroslavvb's example,但仍然遇到一些问题:

  1. 我可以避免使用更多的语句with tf.device("/cpu:0"):等吗?

  2. device_count={"CPU": 8}inter_op_parallelism_threads=3, intra_op_parallelism_threads=1之间是什么关系?在answer from mrry中,我认为inter通过在我的图形中的独立块上工作的线程(例如,多个独立的矩阵运算)控制线程的分布,而intra在“内部可并行”任务上工作(例如矩阵乘法)。我对么?回到yaroslavvb's example,我认为任务已分配给4个CPU内核,{"CPU": 8}请求了8个内核。如果我是正确的,为什么要提出超出要求的要求?

  3. 如何在不使用with tf.device()语句的情况下在每个CPU内核之间分配任务?

然后我们进一步:

2。具有多个CPU内核的多个节点

此Senario是否可与运行的多个GPU相提并论?

0 个答案:

没有答案