北极の熊
忍受孤独,默默耕耘,踏实去做!

网上大多的教程是说tensorflow的版本过高,或者说cuda和cudnn的版本不对,需要降级,但这样会很麻烦!!!

以下值得推荐!!!

解决方法一:在代码前加上下面的代码

from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession
config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)

解决方法二:添加下面两行

import os

os.environ['CUDA_VISIBLE_DEVICES'] = '/gpu:0'

或者

添加

import os

os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"

os.environ['CUDA_VISIBLE_DEVICES'] = "0,1"//选择哪一块gpu,如果是-1,就是调用cpu

config = tf.ConfigProto()//对session进行参数配置

config.allow_soft_placement=True : 如果你指定的设备不存在,允许TF自动分配设备

config.gpu_options.per_process_gpu_memory_fraction=0.7//分配百分之七十的显存给程序使用,避免内存溢出,可以自己调整

config.gpu_options.allow_growth = True//按需分配显存,这个比较重要

session = tf.Session(config=config)

解决方法三:TensorFlow GPU版出现ResourceExhaustedError:OOM错误的问题

一是、将图片尺寸改小,小到占用的内存比显存。

二是、不使用GPU进行预测,只使用CPU预测,因为一般CPU内存要大于显存的。但装的又是GPU版的TensorFlow,所以需要在预测程序进行更改。

程序在前两行加入下面代码:

import os
os.environ["CUDA_VISIBLE_DEVICES"= ""

引号里填的是GPU的序号,不填的时候代表不使用GPU。

posted on 2020-08-04 15:34  北极の熊  阅读(250)  评论(0编辑  收藏  举报