问题
有时候直接使用gpu的tensorflow时,会报错,这时候可能是gpu内存爆了,不要着急去使用cpu,先用第一种方式试一试,不行了再用cpu,cpu实在太慢了
1 判断有没有用gpu
返回True就用了,否则就没用
import tensorflow as tf
print(tf.test.is_gpu_available())
2 使用gpu,
physical_device = tf.config.experimental.list_physical_devices("GPU")
tf.config.experimental.set_memory_growth(physical_device[0], True)
使用cpu的时候需要把这个删除了,添加下面的那个使用cpu的代码
3 使用cpu
全局配置
运行TensorFlow代码时候常出现OOM(Out of Memory)的错误,原因是batch_size设置得太大导致显存不足。如果想让代码仅仅运行在CPU下,可在原代码中加入如下代码:
import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"