全局配置
运行TensorFlow代码时候常出现OOM(Out of Memory)的错误,原因是batch_size设置得太大导致显存不足。如果想让代码仅仅运行在CPU下,可在原代码中加入如下代码:
import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
注:上述代码一定要放在import tensorflow或keras等之前,否则不起作用。
tf配置
该方案为备用方案,通过tensorflow配置指定到cpu上运行
with tf.device('/cpu:0'):
xxx
或者
config = tf.ConfigProto(device_count = {'CPU': 4}) # 分配cpu个数
with tf.Session(config=config) as sess:
xxx