读取文件夹中的图片形式的数据集,随机划分为训练集和测试集比例为9:1,然后将训练集随机打乱后重新按顺序命名后再写入原本的文件夹,
时间: 2023-12-03 13:43:18 浏览: 89
可以使用Python中的os和random模块来完成这个任务。
首先,需要遍历文件夹中的所有图片,以读取它们。可以使用os模块中的listdir()函数来实现:
```python
import os
data_folder = "path/to/data/folder"
images = []
for filename in os.listdir(data_folder):
if filename.endswith(".jpg"):
images.append(os.path.join(data_folder, filename))
```
接下来,可以使用random模块中的sample()函数来随机划分训练集和测试集:
```python
import random
train_ratio = 0.9
num_train = int(len(images) * train_ratio)
train_images = random.sample(images, num_train)
test_images = list(set(images) - set(train_images))
```
然后,可以使用random模块中的shuffle()函数来打乱训练集,并重新命名:
```python
random.shuffle(train_images)
for i, image_path in enumerate(train_images):
new_filename = f"train_{i}.jpg"
os.rename(image_path, os.path.join(data_folder, new_filename))
```
最后,训练集中的图片已经被重新命名并打乱了。测试集也已经被划分出来。
阅读全文