fir*_*aus 5 jupyter tensorflow jupyter-notebook
我注意到从 jupyter notebook 内部运行 tensorflow 代码时的性能(速度)差异非常显着,而不是从命令行作为脚本运行它。
例如,下面是运行 MNIST CNN 教程的结果(https://www.tensorflow.org/code/tensorflow/examples/tutorials/mnist/fully_connected_feed.py)
设置:
具有 32 个 Xeon-CPUS、62GB 内存、4 个 K520 GPUS(4GB 内存)的 AWS 实例
Linux:3.13.0-79 Ubuntu
Tensorflow:0.10.0rc0(从支持 GPU 的来源构建)
Python:3.5.2 |Anaconda 自定义(64 位)|
CUDA 库:libcublas.so.7.5、libcudnn.so.5、libcufft.so.7.5、libcuda.so.1、libcurand.so.7.5
训练步数:2000
Jupyter 笔记本执行时间:
这并没有包括时间的进口和加载数据集-只是训练阶段
CPU times: user 8min 58s, sys: 0 ns, total: 8min 58s
Wall time: 8min 20s
命令行执行:
这是执行完整脚本的时间。
real 0m18.803s
user 0m11.326s
sys 0m13.200s
在这两种情况下都使用 GPU,但利用率更高(命令行训练阶段通常为 35%,而笔记本版本为 2-3%)。我什至尝试将其手动放置在不同的 GPU 上,但这对笔记本执行时间没有太大影响。
关于为什么会这样的任何想法/建议?
我看到相反的情况。笔记本中的 GPU 利用率优于命令行。
我一直在使用 DQN 进行 pong 训练,使用命令行的帧速度下降到 17 fps,而使用笔记本则下降到 100 fps。
我看到了nvidia-smi stats,它显示命令行方法中的使用量为294MB,Jupiter笔记本方法中的使用量为984MB。
不知道原因,但 colab 中也有类似的观察
归档时间: |
|
查看次数: |
2238 次 |
最近记录: |