我正在尝试将我的图像数据集拆分为训练测试和验证数据集。它已经创建了 train、test 和 val 文件夹,但它是空的,因为我一直遇到错误。这是我试图在 jupyter notebook 上运行的代码,我已经导入了所需的库,如 os、numoy、shutil、random:
# # Creating Train / Val / Test folders
root_dir = 'Desktop/sem_8_project/brain/brain_tumor_dataset/' # data root path
classes_dir = ['no', 'yes'] #total labels
val_ratio = 0.15
test_ratio = 0.05
for cls in classes_dir:
os.makedirs(root_dir +'train/' + cls)
os.makedirs(root_dir +'val/' + cls)
os.makedirs(root_dir +'test/' + cls)
for cls in classes_dir:
src = root_dir + cls # Folder to copy images from
allFileNames = os.listdir(src)
np.random.shuffle(allFileNames)
train_FileNames, val_FileNames, test_FileNames = np.split(np.array(allFileNames),
这是它显示的错误:
---------------------------------------------------------------------------
FileNotFoundError Traceback (most recent call last)
<ipython-input-34-e2cee9006649> in <module>
3 src = root_dir + cls # Folder to copy images from
4
----> 5 allFileNames = os.listdir(src)
6 np.random.shuffle(allFileNames)
7 train_FileNames, val_FileNames, test_FileNames = np.split(np.array(allFileNames),
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'Desktop/sem_8_project/brain/brain_tumor_dataset/no'
答案 0 :(得分:0)
如错误信息所述,python 找不到您提供的目录。您不能直接访问 Desktop/,但必须指定它的地址。 试试这个代码作为桌面链接。
os.path.join(os.environ['HOMEPATH'], 'Desktop')
答案 1 :(得分:0)
在最后 4 行代码中而不是使用:allFileNames = os.listdir(src)
我使用了:
allFileNames = []
for filename in os.listdir(src):
img = cv2.imread(os.path.join(src,filename))
if img is not None:
allFileNames.append(img)
这对我有用,目录错误得到修复。