【发布时间】:2018-01-13 01:56:21
【问题描述】:
问题类型:回归
输入:序列长度从 14 到 39 不等,每个序列点是一个 4 元素向量。
输出:标量
神经网络:3 层 Bi-LSTM(隐藏向量大小:200),后跟 2 个全连接层
批量大小:30
每个 epoch 的样本数:~7,000
TensorFlow 版本:tf-nightly-gpu 1.6.0-dev20180112
CUDA 版本:9.0
CuDNN 版本:7
两个 GPU 的详细信息:
GPU 0: 名称:GeForce GTX 1080 Ti 主要:6 次要:1 memoryClockRate(GHz):1.582 总内存:11.00GiB 免费内存:10.72GiB
nvidia-smi 运行期间(仅使用 1080 Ti):
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 385.69 Driver Version: 385.69 |
|-------------------------------+----------------------+----------------------+
| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 108... WDDM | 00000000:02:00.0 Off | N/A |
| 20% 37C P2 58W / 250W | 10750MiB / 11264MiB | 10% Default |
+-------------------------------+----------------------+----------------------+
| 1 Quadro K1200 WDDM | 00000000:03:00.0 On | N/A |
| 39% 35C P8 1W / 31W | 751MiB / 4096MiB | 2% Default |
+-------------------------------+----------------------+----------------------+
GPU 1: 名称:Quadro K1200 主要:5 次要:0 memoryClockRate(GHz):1.0325 总内存:4.00GiB 免费内存:3.44GiB
nvidia-smi 在运行期间(仅使用 K1200):
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 385.69 Driver Version: 385.69 |
|-------------------------------+----------------------+----------------------+
| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 108... WDDM | 00000000:02:00.0 Off | N/A |
| 20% 29C P8 8W / 250W | 136MiB / 11264MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 1 Quadro K1200 WDDM | 00000000:03:00.0 On | N/A |
| 39% 42C P0 6W / 31W | 3689MiB / 4096MiB | 23% Default |
+-------------------------------+----------------------+----------------------+
花费 1 个 epoch 的时间:
仅 GPU 0(设置环境变量“CUDA_VISIBLE_DEVICES”=0):~60 分钟
仅限 GPU 1(设置环境变量“CUDA_VISIBLE_DEVICES”=1):~45 分钟
设置环境。变种在两次测试中都变为“TF_MIN_GPU_MULTIPROCESSOR_COUNT=4”。
为什么更好的 GPU(GeForce GTX 1080 Ti)在训练我的神经网络时会变慢?
提前致谢。
更新
使用CNN model 对 MNIST 数据集进行的另一组测试显示了相同的模式:
训练 17 个 epoch 所花费的时间:
GPU 0 (1080 Ti):~59 分钟
GPU 1 (K1200):约 45 分钟
【问题讨论】:
-
其中一个 GPU 是否也用于图形处理?
-
@AlexandrePassos,是的,Quadro K1200 用于图形处理(两个显示器,分辨率:1920x1200 和 1280x1024)。除了训练模型之外,GeForce GTX 1080 Ti 没有用于图形或活动。
-
两种选择之一:(1) TF 决定哪个 GPU 为 0,哪个 GPU 与 nvidia 不同(查看 tf 启动日志以了解它的决定)或 (2) 这个特定的模型在 CPU 上比在 GPU 上更快(默认情况下,tf 不会在 quadro k1200 上运行,因为它没有足够的计算能力)。您可以记录设备放置以查看吗?
-
您能否log the op device placement 确认当您使用较慢的 GPU 时实际使用的是 GPU?
-
你能告诉我们如果你在两个 GPU 的计算过程中运行 nvidia-smi 会发生什么吗?
标签: tensorflow lstm