【问题标题】:Keras - failure to create TensorBoard directoryKeras - 无法创建 TensorBoard 目录
【发布时间】:2019-02-01 03:41:55
【问题描述】:

我正在尝试通过保存在单独的子目录中来在 TensorBoard 中创建多个图表,类似于here 中的描述。

但是,我似乎在回调中收到错误 - 我不确定它为什么会出错。

回调:

tensorboard = TensorBoard(log_dir=f"./logs/MODEL", histogram_freq=1,
                                  write_grads=True)

错误:

Traceback (most recent call last):
  File "C:\Users\Ad\AppData\Local\conda\conda\envs\coda\lib\site-packages\IPython\core\interactiveshell.py", line 2963, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-3-7fb3ff8a6fa3>", line 46, in <module>
    validation_split=0.2, callbacks=[tensorboard, metrics])
  File "C:\Users\Ad\AppData\Local\conda\conda\envs\coda\lib\site-packages\keras\engine\training.py", line 1657, in fit
    validation_steps=validation_steps)
  File "C:\Users\Ad\AppData\Local\conda\conda\envs\coda\lib\site-packages\keras\engine\training.py", line 1145, in _fit_loop
    callbacks.set_model(callback_model)
  File "C:\Users\Ad\AppData\Local\conda\conda\envs\coda\lib\site-packages\keras\callbacks.py", line 48, in set_model
    callback.set_model(model)
  File "C:\Users\Ad\AppData\Local\conda\conda\envs\coda\lib\site-packages\keras\callbacks.py", line 710, in set_model
    self.sess.graph)
  File "C:\Users\Ad\AppData\Local\conda\conda\envs\coda\lib\site-packages\tensorflow\python\summary\writer\writer.py", line 336, in __init__
    filename_suffix)
  File "C:\Users\Ad\AppData\Local\conda\conda\envs\coda\lib\site-packages\tensorflow\python\summary\writer\event_file_writer.py", line 67, in __init__
    gfile.MakeDirs(self._logdir)
  File "C:\Users\Ad\AppData\Local\conda\conda\envs\coda\lib\site-packages\tensorflow\python\lib\io\file_io.py", line 368, in recursive_create_dir
    pywrap_tensorflow.RecursivelyCreateDir(compat.as_bytes(dirname), status)
  File "C:\Users\Ad\AppData\Local\conda\conda\envs\coda\lib\site-packages\tensorflow\python\framework\errors_impl.py", line 473, in __exit__
    c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.InvalidArgumentError: Failed to create a directory: ./logs/1-LTSM-NODES-32-DENSE-1: 1535276781.0160034; Invalid argument

【问题讨论】:

  • 模型名称中的空格?
  • 很好看,但不完全。虽然你让我找到了解决方案。它不喜欢空格或冒号。我将其更改为仅使用'-'并且它有效!谢谢。

标签: keras tensorboard


【解决方案1】:

我遇到了同样的问题。我将 / 更改为 \ 并且它起作用了

【讨论】:

  • tensorboard = TensorBoard(log_dir=f".\logs\MODEL", histogram_freq=1, write_grads=True)
【解决方案2】:

这在 Windows 中对我有用

log_dir="logs\\model\\"

【讨论】:

    【解决方案3】:

    遇到了同样的问题。 在我的情况下,解决方案是用 Path (来自 pathlib 模块)对象包装路径 - 它修复和规范所有路径斜杠问题(适用于 Windows 和 Linux 构建代理),例如:

    from pathlib import Path
    training_log_dir_path = Path((os.path.join(getRootDir(), log_dir, 't-', mversion)))
    training_log_dir = str(training_log_dir_path)
    

    【讨论】:

      猜你喜欢
      • 2016-09-04
      • 2021-04-26
      • 1970-01-01
      • 2021-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多