仔细看下数据加载、处理的文件datasets.py,发现有一句会根据第2步中images文件夹的位置找到对应labels文件夹:
这个替换不仅替换了文件夹的名称,顺便把文件名也改了
哭了,所以根本找不到文件
解决:
借鉴别人的做法:最简单的方法就是把文件名批量改一下了Python 批量修改文件名
import os
#输入要更改文件的上级目录,我的话就是images和labels这两个文件夹下的train文件夹和val文件夹,以下以images/train文件夹为例。
path = "H:/data/fire_data/images/train"
#需要被替换的字符images
originalname = 'images'
#替换的字符串fire
replacename = 'fire'
def main1(path1):
files = os.listdir(path1) # 得到文件夹下的所有文件名称
for file in files: #遍历文件夹
if os.path.isdir(path1 + '\\' + file):
main1(path1 + '\\' + file)
else:
files2 = os.listdir(path1 + '\\')
for file1 in files2:
if originalname in file1:
#用‘’替换掉 X变量
n = str(path1 + '\\' + file1.replace(originalname,replacename))
n1 = str(path1 + '\\' + str(file1))
try:
os.rename(n1, n)
except IOError:
continue
main1(path)