labelbox_json2yolo.py中make_dirs导入错误的替代方案问询
解决Labelbox转YOLO时的make_dirs导入错误问题
当然可以用本地目录直接替代make_dirs(file.stem)的调用,甚至可以自己实现简单的目录创建逻辑,具体操作如下:
方法1:直接指定固定本地目录
如果不需要按原JSON文件名创建子目录,直接用一个固定目录存储YOLO标签即可:
- 在代码开头导入Python自带的
os模块:
import os
- 找到原代码中调用
make_dirs(file.stem)的位置,替换成以下代码:
# 自定义本地保存目录,比如当前路径下的yolo_labels文件夹 save_dir = "./yolo_labels" # 自动创建目录,exist_ok=True避免目录已存在时报错 os.makedirs(save_dir, exist_ok=True)
方法2:保留原按文件名创建目录的逻辑
如果你还想沿用原代码中根据JSON文件名生成子目录的逻辑,自己写个替代make_dirs的函数就行:
import os # 自己实现目录创建函数 def make_dirs(dir_name): if not os.path.isdir(dir_name): os.makedirs(dir_name) return dir_name # 之后依然可以像原代码一样调用 save_dir = make_dirs(file.stem)
额外注意:设置正确的类别
别忘把代码里的类别参数改成你需要的['bsb', 'wsb'](元组('bsb','wsb')也可以),确保转换时类别索引对应正确——bsb对应索引0,wsb对应索引1。
把以上修改后的代码放到Jupyter Notebook里运行,就能正常完成Labelbox JSON到YOLO TXT的转换了。
内容的提问来源于stack exchange,提问作者Leprechault
相关产品推荐
相关产品推荐

