使用TensorFlow时遇报错:Logs is not a directory [Op:CreateSummaryFileWriter] 求调试
解决TensorFlow报错"Logs is not a directory [Op:CreateSummaryFileWriter]"
排查步骤与修复方案
1. 改用绝对路径规避相对路径问题
直接使用目录的绝对路径创建TensorBoard回调,避免当前工作目录不匹配导致的路径指向错误:
import tensorflow as tf from tensorflow.keras.callbacks import TensorBoard import os # 替换为你确认存在的绝对路径,r前缀避免Windows反斜杠转义 log_dir = r"C:\Users\86136\Desktop\2021111873\codes\Logs\mlp" # 确保目录存在(不存在则自动创建) os.makedirs(log_dir, exist_ok=True) tensorboard_callback = TensorBoard(log_dir=log_dir, histogram_freq=1) # 在model.fit中添加该回调 model.fit(..., callbacks=[tensorboard_callback])
2. 验证并切换工作目录
在代码开头添加以下代码,确认程序运行时的工作目录是否正确:
import os print("当前工作目录:", os.getcwd())
如果输出目录不是C:\Users\86136\Desktop\2021111873\codes,手动切换工作目录:
os.chdir(r"C:\Users\86136\Desktop\2021111873\codes")
3. 检查目录权限
右键点击Logs/mlp目录,选择「属性」-「安全」,确认当前运行代码的用户拥有读取和写入权限,无权限则添加对应权限。
4. 针对你代码的具体调整
从截图代码逻辑出发,将路径拼接部分改为绝对路径模式:
mode = 'mlp' base_path = r"C:\Users\86136\Desktop\2021111873\codes" log_dir = os.path.join(base_path, 'Logs', mode) os.makedirs(log_dir, exist_ok=True) # 初始化TensorBoard回调 tensorboard = TensorBoard(log_dir=log_dir)
内容的提问来源于stack exchange,提问作者2021111873
相关产品推荐
相关产品推荐

