小编TFd*_*doe的帖子

Nvidia GPU 内存分配但没有进程?

我经常重新运行相同的mxnet脚本,同时我尝试解决新脚本中的一些错误(而且我是新脚本mxnet)。当我尝试运行我的脚本时,经常会出现 GPU 内存不足的错误,当我nvidia-smi用来检查时,我看到的是:

Wed Dec  5 15:41:29 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 396.24.02              Driver Version: 396.24.02                 |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 108...  Off  | 00000000:65:00.0  On |                  N/A |
|  0%   54C    P2    68W / 300W |  10891MiB / 11144MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory | …
Run Code Online (Sandbox Code Playgroud)

gpu mxnet

7
推荐指数
1
解决办法
5235
查看次数

tf.contrib.data.prefetch_to_device 不会导致训练加速

我注意到,对于我尝试运行的模型,我的 GPU 利用率仅为 30% 左右,而且通常由于 I/O,30% 的利用率会与 0% 利用率交替出现。为了解决添加到我的代码中的 I/OI,tf.contrib.data.prefetch_to_device如下所示:

    dataset    = tf.data.TFRecordDataset(self.filenames, "ZLIB", 384 * 1024 * 1024)
    dataset    = dataset.map(parse_func, 6)
    dataset    = dataset.prefetch(6)
    dataset    = dataset.apply(tf.contrib.data.prefetch_to_device("/gpu:0", 12))        
    #dataset    = dataset.apply(tf.contrib.data.prefetch_to_device("/gpu:0", 2))        
    #dataset    = dataset.apply(tf.contrib.data.prefetch_to_device("/gpu:0", 6))        
    self.iterator  = dataset.make_initializable_iterator()
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我在尝试解决此问题时做了一些事情,包括:

  • 改变buffer_size参数(对时间没有影响:我尝试了 12、6、2 和 1)
  • 是否在其他 GPU 上并行运行其他作业。在任何一种情况下都不会影响训练时间
  • 消除该dataset.prefetch行,以防它以某种方式干扰设备级预取(我也尝试了较小的数字,例如 2 和 1)

当我为训练计时时,我没有发现这些变化有任何有意义的差异。此外,GPU 利用率继续遵循相同的模式,交替使用 0% 和 30% 的利用率。我还应该尝试什么?为什么使用 GPU 预取根本不会影响性能?感谢您的任何建议。

io gpu prefetch tensorflow

5
推荐指数
1
解决办法
1771
查看次数

Tensorboard无法导入名称`run_main`

自从我更新到TensorFlow v1.4后,我无法运行TensorBoard.最初我遇到了一个与之相关的问题flags(就像我在这里发布的那样).事实上,我重新安装了TensorFlow,并了解到修复程序已经存在,但现在我收到此错误:

Traceback (most recent call last):
  File "/opt/python/3.6.3/bin/tensorboard", line 7, in <module>
    from tensorboard.main import run_main
ImportError: cannot import name 'run_main'
Run Code Online (Sandbox Code Playgroud)

无论是否提供日志目录,我都会收到此错误.什么是修复,我可以做些什么来调查?

我是Tensorflow ecoysystem的新手.我试图做的是打开上面引用的文件/opt/python/3.6.3/bin/tensorboard.我看到以下内容:

#!/opt/python/3.6.3/bin/python3.6

# -*- coding: utf-8 -*-
import re
import sys

from tensorboard.main import run_main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(run_main())
Run Code Online (Sandbox Code Playgroud)

我看了看tensorboard.main,我什么也没看见命名run_main,但我确实看到了def main,所以我试图改变import run_main,并run_main()main但使我回flags错误.我究竟做错了什么?

python tensorflow tensorboard

4
推荐指数
1
解决办法
1216
查看次数

标签 统计

gpu ×2

tensorflow ×2

io ×1

mxnet ×1

prefetch ×1

python ×1

tensorboard ×1