图像预处理流水线构建经验分享
在大模型训练过程中,图像预处理是决定模型性能的关键环节。本文分享一个可复现的图像预处理流水线构建方法。
核心步骤
- 数据清洗:使用OpenCV去除低质量图片
import cv2
import os
def clean_images(folder_path):
for filename in os.listdir(folder_path):
if filename.endswith('.jpg'):
img = cv2.imread(os.path.join(folder_path, filename))
if img is None or img.size == 0:
os.remove(os.path.join(folder_path, filename))
- 标准化处理:统一尺寸和归一化
from torchvision import transforms
import torch.nn.functional as F
transform = transforms.Compose([
transforms.Resize((224, 224)),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])
- 数据增强:提升模型泛化能力
augmentation = transforms.Compose([
transforms.RandomHorizontalFlip(p=0.5),
transforms.RandomRotation(degrees=15),
transforms.ColorJitter(brightness=0.2, contrast=0.2)
])
通过构建这样的流水线,可有效提升大模型训练效率和准确性。

讨论