【问题标题】:How to split 4 folders of dataset to different folders in python?python - 如何将4个数据集文件夹拆分到python中的不同文件夹?
【发布时间】:2021-04-09 20:00:17
【问题描述】:

我正在尝试使用 python 进行形状图像分类的 CNN 教程之一。我有 4 个不同形状的文件夹。我尝试使用以下代码拆分数据集。

os.mkdir(os.path.join(path_target, 'train'))
os.mkdir(os.path.join(path_target, 'valid'))
for t in ['train', 'valid']:
    for folder in ['circle/', 'square/', 'star/', 'triangle/']:
        os.mkdir(os.path.join(path_target, t, folder))
def preprocessData(dirName, ext):
    allFiles = list()
    for root, dirs, files in os.walk(dirName):
        for file in files:
            if file.endswith(ext):
                allFiles.append(os.path.join(root, file))
    Shuffle(allFiles)Split = 0.7
    split_index = floor(len(allFiles) * split)
    training = allFiles[:split_index]
    testing = allFiles[split_index:]
    return training, testing

但我收到以下错误

  File "<ipython-input-29-6be535540069>", line 8
    Shuffle(allFiles)Split =0.7
                         ^
SyntaxError: invalid syntax

有没有办法在 python 中明智地拆分数据集文件夹?

【问题讨论】:

  • 当然,但您的错误正是它所说的:invalid syntax。请解释一下Shuffle(allFiles)Split =0.7 应该做什么。
  • 它应该以 70:30 的比例洗牌和拆分数据集。
  • 那不是有效的 python 代码。我将猜测您的意图可能是什么作为答案。

标签: python conv-neural-network google-colaboratory


【解决方案1】:
import random    

def preprocessData(dirName, ext):
    allFiles = list()
    for root, dirs, files in os.walk(dirName):
        for file in files:
            if file.endswith(ext):
                allFiles.append(os.path.join(root, file))
    random.shuffle(allFiles)
    split = 0.7
    split_index = floor(len(allFiles) * split)
    training = allFiles[:split_index]
    testing = allFiles[split_index:]
    return training, testing

【讨论】:

    猜你喜欢
    • 2021-12-08
    • 2019-01-18
    • 1970-01-01
    • 2014-08-14
    • 1970-01-01
    • 2022-12-25
    • 2022-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多