使用python 利用train_test_split函数划分图像数据集,分别存储在当前目录下
时间: 2023-07-20 11:39:29 浏览: 95
可以使用 scikit-learn 库中的 train_test_split 函数来划分图像数据集。以下是一个示例代码,可以将一个图像文件夹中的所有图像划分为训练集和测试集,并将它们分别存储到当前文件夹目录下的 'train' 和 'test' 文件夹中:
```python
import os
import random
import shutil
from sklearn.model_selection import train_test_split
# 图像文件夹路径
img_folder = './images'
# 获取所有图像文件名
img_files = os.listdir(img_folder)
img_files = [os.path.join(img_folder, f) for f in img_files if f.endswith('.jpg')]
# 划分训练集和测试集
train_files, test_files = train_test_split(img_files, test_size=0.2, random_state=1)
# 创建目标文件夹
os.makedirs('train', exist_ok=True)
os.makedirs('test', exist_ok=True)
# 复制文件到对应的数据集文件夹
for f in train_files:
shutil.copy(f, 'train')
for f in test_files:
shutil.copy(f, 'test')
```
上述代码使用 train_test_split 函数将所有图像文件划分为训练集和测试集,然后将它们分别复制到 'train' 和 'test' 文件夹中。如果文件夹已经存在,则直接复制到已有的文件夹中。
阅读全文