2

我是基于 GPU 的训练和深度学习模型的新手。我在我的 2 个 Nvidia GTX 1080 GPU 上的 tensorflow 中运行 cDCGAN(条件 DCGAN)。我的数据集包含大约 32,000 张大小为 64*64 的图像和 2350 个类别标签。我的批量大小非常小,即 10,因为我面临 OOM 错误(分配具有形状 [32,64,64,2351] 的张量时的 OOM)和大批量大小。

训练非常缓慢,我理解这取决于批量大小(如果我错了,请纠正我)。如果我这样做help -n 1 nvidia-smi,我会得到以下输出。

在此处输入图像描述

主要GPU:0使用,因为 Volatile GPU-Util 给我大约 0%-65%,而GPU:1最大总是 0%-3%。性能GPU:0总是在 P2 中,而GPU:1主要是 P8 或有时是 P2。我有以下问题。

1) 为什么 GPU:1 的使用量没有超过当前状态,为什么它大部分是 P8 Perf 虽然没有使用?
2)这种糟糕的训练过程是否仅会降低我的批量大小,或者可能有其他一些原因?
3)如何提高性能?4)如何避免更大批量的OOM错误?

编辑1:

型号详情如下

发电机:

我有 4 层(完全连接,UpSampling2d-conv2d,UpSampling2d-conv2d,conv2d)。
W1 的形状为 [X+Y, 16*16*128] 即 (2450, 32768), w2 [3, 3, 128, 64], w3 [3, 3, 64, 32], w4 [[3, 3, 32, 1]] 分别

鉴别器

它有五层(conv2d、conv2d、conv2d、conv2d、全连接)。
w1 [5, 5, X+Y, 64] 即 (5, 5, 2351, 64), w2 [3, 3, 64, 64], w3 [3, 3, 64, 128], w4 [2, 2 , 128, 256], [16*16*256, 1] 分别。

4

0 回答 0