神经网络两种数据生成方式训练结果完全不一样

今天在做实验的时候,修改了一下数据增强的方式。一开始图片的处理都是用PIL库进行处理的,后来接触了torchvision中的transform后就对原有的代码进行了修改。实验发现,训练的结果过拟合了,测试集的loss一直都很大且没有办法下降。总之,存在很大的疑惑。

开始的数据生成代码

import argparse
import os
import sys
sys.path.append('../')
sys.path.append('../model')
import h5py
import numpy as np
import PIL.Image as pil_image
from utils import  convert_rgb_to_y,random_crop
from PIL import Image
import config

def train(args):
    print('尺度因子是',args.scale)
    if not os.path.exists("../train"):
        os.makedirs("../train")
    h5_file = h5py.File(args.output_path, 'w')
    lr_patches = []
    hr_patches = []
    flip = [0,1,2]
    count = 0
    if args.mode=='y':
        print('生成y通道数据')
    else:
        print('生成rgb数据')
    if args.with_aug:
        print('进行数据增强')
    for image_path in sorted(os.listdir(args.images_dir)):
 

猜你喜欢

转载自blog.csdn.net/qq_40107571/article/details/127375024