【发布时间】:2017-09-02 15:03:39
【问题描述】:
我正在尝试使用 VGG16 运行一些基本的迁移学习代码。我使用的是 Ubuntu 16.04、TensorFlow 1.3 和 Keras,我有 4 个 1080ti GPU。
当我到达这行代码时:
datagen = ImageDataGenerator(rescale=1. / 255)
model = applications.VGG16(include_top=False, weights='imagenet')
nvidia-smi 的输出显示如下:
Processes: GPU Memory |
| GPU PID Type Process name Usage
| 0 14241 G /usr/lib/xorg/Xorg 256MiB |
| 0 14884 G compiz 155MiB |
| 0 16497 C /home/simon/anaconda3/bin/python 10267MiB |
| 1 16497 C /home/simon/anaconda3/bin/python 10611MiB |
| 2 16497 C /home/simon/anaconda3/bin/python 10611MiB |
| 3 16497 C /home/simon/anaconda3/bin/python 10611MiB |
+--------------------------------------------- -------------------------------+
那么终端的输出就是
2017-09-02 15:59:15.946927: E tensorflow/stream_executor/cuda/cuda_dnn.cc:371] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2017-09-02 15:59:15.946960: E tensorflow/stream_executor/cuda/cuda_dnn.cc:338] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
2017-09-02 15:59:15.946973: F tensorflow/core/kernels/conv_ops.cc:672] Check failed: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo<T>(), &algorithms)
我的 jupyter notebook 内核死了。
显然这是内存问题,但我不明白为什么我的 GPU 突然被这段代码占用了。我应该补充一点,这个问题仅在过去 24 小时内开始,并且所有这些代码在一天前运行良好。这里有很多类似问题的答案,但它们都引用了其他运行 TF 的实例(并建议关闭它们)。就我而言,这是唯一运行的 TF 应用程序(或任何其他应用程序)。
【问题讨论】:
-
你确定16497不是僵尸进程吗?你试过重启吗?
-
没有罗伯特。我寻找僵尸进程,但没有。这真的很烦人,因为几乎所有与此问题相关的 SO 答案都表明这是由僵尸进程的内存消耗引起的......
标签: tensorflow cudnn