防止TensorFlow访问GPU?

jas*_*ekp 21 python tensorflow

有没有办法纯粹在CPU上运行TensorFlow.我的机器上的所有内存都被运行TensorFlow的独立进程占用.我已经尝试将per_process_memory_fraction设置为0,但未成功.

pfm*_*pfm 43

看看这个问题或这个答案.

总结一下,你可以添加这段代码:

import os
os.environ["CUDA_VISIBLE_DEVICES"]="-1"    
import tensorflow as tf
Run Code Online (Sandbox Code Playgroud)

编辑:引用此评论,使用CUDA_VISIBLE_DEVICES环境变量是(如果不是)每当你安装GPU-tensorflow并且你不想在所有GPU卡上使用时的方法之一.

您希望导出CUDA_VISIBLE_DEVICES =或者使用非GPU TensorFlow导出virtualenv.另见:#2175(评论)

  • 使用后如何重新启用我的 GPU (5认同)

MZH*_*ZHm 8

您可以通过打开GPU限制为0的会话来仅使用CPU:

sess = tf.Session(config=tf.ConfigProto(device_count={'GPU': 0}))
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅https://www.tensorflow.org/api_docs/python/tf/ConfigProto.

证明它适用于@Nicolas:

在Python中,写:

import tensorflow as tf
sess_cpu = tf.Session(config=tf.ConfigProto(device_count={'GPU': 0}))
Run Code Online (Sandbox Code Playgroud)

然后在终端:

nvidia-smi
Run Code Online (Sandbox Code Playgroud)

你会看到类似的东西:

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|    0     24869    C   /.../python                 99MiB                     |
+-----------------------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

然后重复这个过程:在Python中,写:

import tensorflow as tf
sess_gpu = tf.Session()
Run Code Online (Sandbox Code Playgroud)

然后在终端:

nvidia-smi
Run Code Online (Sandbox Code Playgroud)

你会看到类似的东西:

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|    0     25900    C   /.../python                                   5775MiB |
+-----------------------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)