用python写出如何划分图片的训练集和测试集
时间: 2023-09-27 15:08:33 浏览: 61
以下是一个简单的示例代码,如何使用Python划分图像的训练集和测试集:
```python
import os
import random
import shutil
# 设置随机数种子,保证每次划分结果一致
random.seed(42)
# 图像所在目录
image_dir = '/path/to/image/dir'
# 划分比例
train_ratio = 0.8
test_ratio = 0.2
# 获取所有图像文件名
image_files = os.listdir(image_dir)
# 随机打乱图像文件名
random.shuffle(image_files)
# 计算划分数量
num_train = int(len(image_files) * train_ratio)
num_test = len(image_files) - num_train
# 创建训练集和测试集目录
train_dir = '/path/to/train/dir'
test_dir = '/path/to/test/dir'
if not os.path.exists(train_dir):
os.makedirs(train_dir)
if not os.path.exists(test_dir):
os.makedirs(test_dir)
# 将图像文件拷贝到训练集和测试集目录中
for i, image_file in enumerate(image_files):
src_path = os.path.join(image_dir, image_file)
if i < num_train:
dst_path = os.path.join(train_dir, image_file)
else:
dst_path = os.path.join(test_dir, image_file)
shutil.copy(src_path, dst_path)
```
该代码首先设置随机数种子,然后获取指定目录下所有图像文件名,并随机打乱。接着计算训练集和测试集的数量,并创建相应的目录。最后将图像文件拷贝到训练集和测试集目录中。
阅读全文