首页 > 解决方案 > keras - tensorflow错误地使用GPU,没有使用它的所有内存

问题描述

我有 2 个 gpu:

我在 anaconda 上运行一个 jupyter notebook,以执行 Vgg16(甚至更小)网络的训练。

程序一直在崩溃,就像没有足够的内存一样。

似乎在 GPU 之间产生了一些混淆。

跑步:

from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

输出:

[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 8983326202371681375
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 11239342080
locality {
  bus_id: 1
  links {
  }
}
incarnation: 16192653343740641175
physical_device_desc: "device: 0, name: Tesla K40c, pci bus id: 0000:02:00.0, compute capability: 3.5"
]

当该过程开始时,我进入 anaconda promt cmd:

2020-01-09 15:09:18.540910: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1433] Found device 0 with properties:
name: Tesla K40c major: 3 minor: 5 memoryClockRate(GHz): 0.745
pciBusID: 0000:02:00.0
totalMemory: 11.18GiB freeMemory: 11.07GiB

但是当训练开始时,我在 anaconda 提示符中看到:

Created TensorFlow device (/device:GPU:0 with 10718 MB memory) -> physical GPU (device: 0, name: Tesla K40c, pci bus id: 0000:02:00.0, compute capability: 3.5)

而且培训不起作用,通常会崩溃。 它曾经在通行证中工作,所以我不认为它的安装问题。还有一个选项是在某些窗口更新后开始的,但不确定。

我该如何解决这个问题?

我还在 anaconda 提示符中看到警告:

Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX

这可以与问题有关吗?

Cuda 版本:(来自:nvcc --version)

Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Nov__3_21:08:12_Central_Daylight_Time_2017
Cuda compilation tools, release 9.1, V9.1.85

在 nvidia-smi ,我得到:

| NVIDIA-SMI 441.22       Driver Version: 441.22       CUDA Version: 10.2

张量流版本

1.13.1

keras版本

2.2.4

蟒蛇版本

3.6.8 |Anaconda, Inc.| (default, Feb 21 2019, 18:30:04) [MSC v.1916 64 bit (AMD64)]

标签: pythontensorflowgpunvidia

解决方案


推荐阅读