You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter运行TensorFlow创建label_map.pbtxt提示无此文件报错如何解决?

原因分析
  • 核心原因是Python的open()函数在w写入模式下,仅支持自动创建目标文件,不会自动创建不存在的多级父目录。如果ANNOTATION_PATH对应的Tensorflow/workspace/annotations目录本身不存在,就会抛出找不到文件的错误,和斜杠/反斜杠的适配无关。
  • 次要可能原因:ANNOTATION_PATH变量定义存在拼写错误,或者你使用的是相对路径,而Jupyter当前的工作目录和你预期的项目根目录不匹配,导致路径定位失效。
解决步骤
  1. 先在写入文件前,手动创建父目录,避免目录不存在的问题,修改代码如下:
import os
labels = [{'name':'Mask', 'id':1}, {'name':'NoMask', 'id':2}]

# 先创建注解目录,exist_ok=True表示目录已存在时不会报错
os.makedirs(ANNOTATION_PATH, exist_ok=True)
# 路径拼接改用os.path.join,自动适配不同系统的斜杠规则
with open(os.path.join(ANNOTATION_PATH, 'label_map.pbtxt'), 'w') as f:
    for label in labels:
        f.write('item { \n')
        f.write('\tname:\'{}\'\n'.format(label['name']))
        f.write('\tid:{}\n'.format(label['id']))
        f.write('}\n')
  1. 验证Jupyter工作目录是否匹配预期,执行以下代码打印当前工作目录,确认是否是你项目的根目录:
import os
print(os.getcwd())

如果工作目录不对,要么把相对路径改成绝对路径,要么用os.chdir("你的项目根目录路径")切换工作目录后再运行写入文件的代码。

内容的提问来源于stack exchange,提问作者user17213914

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 07:54:03