智能数字图像处理之FastRCNN(pytorch)代码解读之spilt_data.py

该脚本用于生成FastRCNN训练所需的train.txt和val.txt文件。首先,它检查VOC2012的Annotations文件夹是否存在,然后设置验证集比例为50%,对文件名进行排序并随机选取一部分作为验证集,剩余作为训练集。最后,将训练集和验证集写入对应的txt文件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是一个脚本生成train.txt等txt文件

1.files_path = "./VOCdevkit/VOC2012/Annotations"-》记住文件路径

2.if not os.path.exists(files_path):
    print("文件夹不存在")
    exit(1)-》检测路径存不存在

3.val_rate = 0.5-》验证集比例

4.files_name = sorted([file.split(".")[0] for file in os.listdir(files_path)])-》拼写并排序并遍历文件路径

5.files_num = len(files_name)-》获取文件长度

6.val_index = random.sample(range(0, files_num), k=int(files_num*val_rate))-》随机采样一部分样本,range(0, files_num)为采样范围,k=int(files_num*val_rate)为采样个数

7.for index, file_name in enumerate(files_name):
    if index in val_index:
        val_files.append(file_name)
    else:
        train_files.append(file_name)-》分割验证集和训练集

8.try:
    train_f = open("train.txt", "x")
    eval_f = open("val.txt", "x")
    train_f.write("\n".join(train_files))
    eval_f.write("\n".join(val_files))-》创建txt文件并放入训练集和验证集
except FileExistsError as e:
    print(e)
    exit(1)

import os
import random


files_path = "./VOCdevkit/VOC2012/Annotations"
if not os.path.exists(files_path):
    print("文件夹不存在")
    exit(1)
val_rate = 0.5

files_name = sorted([file.split(".")[0] for file in os.listdir(files_path)])
files_num = len(files_name)
val_index = random.sample(range(0, files_num), k=int(files_num*val_rate))
train_files = []
val_files = []
for index, file_name in enumerate(files_name):
    if index in val_index:
        val_files.append(file_name)
    else:
        train_files.append(file_name)

try:
    train_f = open("train.txt", "x")
    eval_f = open("val.txt", "x")
    train_f.write("\n".join(train_files))
    eval_f.write("\n".join(val_files))
except FileExistsError as e:
    print(e)
    exit(1)



https://github.com/WZMIAOMIAO/deep-learning-for-image-processing

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值