Tensorboard无法找到.runfiles目录错误

Paw*_*ore 6 python keras tensorflow tensorboard

我通过pip安装了tensorboard,当我尝试执行时,tensorboard --logdir= Graph/ 我得到以下错误

Traceback (most recent call last):
  File "/home/pawan/.local/bin/tensorboard", line 152, in <module>
    Main()
  File "/home/pawan/.local/bin/tensorboard", line 102, in Main
    module_space = FindModuleSpace()
  File "/home/pawan/.local/bin/tensorboard", line 83, in FindModuleSpace
    sys.argv[0])
    AssertionError: Cannot find .runfiles directory for /home/pawan/.local/bin/tensorboard
Run Code Online (Sandbox Code Playgroud)

我这样做which tensorboard并得到以下内容

/home/pawan/.local/bin/tensorboard
Run Code Online (Sandbox Code Playgroud)

提前致谢.

Jim*_*ski 7

看来他们并不认为有人会在用户目录中安装TensorBoard.下面是我来得到它的工作:

~/.local/bin/tensorboard脚本中,有一个看起来像这样的部分:

def FindModuleSpace():
  # Follow symlinks, looking for my module space
  stub_filename = os.path.abspath(sys.argv[0])
  while True:
    # Found it?
    module_space = stub_filename + '.runfiles'
    if os.path.isdir(module_space):
      break
    for mod in site.getsitepackages():
      module_space = mod + '/tensorboard/tensorboard' + '.runfiles'
      if os.path.isdir(module_space):
        return module_space
Run Code Online (Sandbox Code Playgroud)

(在"无法找到.runfiles目录"错误的断言上方).

它正在寻找的目录是

~/.local/lib/python2.7/site-packages/tensorboard/tensorboard.runfiles
Run Code Online (Sandbox Code Playgroud)

你可以通过跑步发现find ~/.local -name '*runfiles*'.

我只是将它添加到for目录循环中,一切都很好:

    for mod in site.getsitepackages() + [os.path.expanduser("~/.local/lib/python2.7/site-packages")]
Run Code Online (Sandbox Code Playgroud)

这是一个黑客,因为:

  • 我明确地说过python2.7,这可能不是你正在使用的Python版本.根据你的情况纠正它.
  • 正斜杠的使用在Windows上不起作用; 一连串os.path.join会更好.
  • 这个问题确实应该传达给TensorBoard开发人员.是你做的吗?