transforms类型转换

一、transform
1. transform定义
import torchvision.transforms as transforms
# 定义转换格式1 224*224
transform = transforms.Compose([
	transforms.Scale(256),
	transforms.CenterCrop(224),
	transforms.ToTensor()
	])
# 定义转换格式2	
transform = transforms.Compose([  #transforms.Compose就是将对图像处理的方法集中起来
    transforms.RandomHorizontalFlip(),#水平翻转
    transforms.RandomCrop((32, 32), padding=4),
    transforms.ToTensor(),#转为Tensor
    #在做数据归一化之前必须要把PIL Image转成Tensor,而其他resize或crop操作则不需要。
     transforms.Normalize((0.5, 0.5 ,0.5), (0.5, 0.5, 0.5)),#归一化   
    ])
2. 使用方法
txt_path = 'G:/train/path.txt'

class MyDataset(Dataset):
    # 初始化
    def __init__(self, txt_path,transform = None, target_transform = None):
        fh = open(txt_path, 'r')
        imgs = []
        for line in fh:
            # 存储txt时 加了'\t'
            line = line.strip('\n')
            line = line.rsplit('\t')
            imgs.append((line[0],line[1])) # 以元组的形式存储imgs
            self.imgs = imgs
            self.transform = transform
            arget_transform = target_transform
    # 返回df的长度 长度可能不固定,测试通过
    def __len__(self):
        return len(self.imgs)

    # 获取第index列的数据
    def __getitem__(self, index):
        img_path,label = self.imgs[index]
        # 1. 这里是读取图片
        img = Image.open(img_path).convert('RGB')
        # 图像处理 格式转换
#        img = img.resize((224,224),Image.ANTIALIAS)
        # 2. 这里可以读取CSV文件格式
#------------这里进行类型转换:判断是否传入transform-------------
        if self.transform is not None:
            img = self.transform(img)
#--------------------------------------------------------------
        return img,label


#		使用时候:读取数据的时候
train_set = MyDataset(txt_path,transform=transform)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
transforms是PyTorch中的一个模块,主要用于对图像进行变换操作。在torchvision中,transforms提供了各种各样的变换方法,可以用于数据的预处理和增强。通过transforms模块,可以方便地对图片进行缩放、裁剪、翻转、旋转等操作。 这些变换方法可以通过transforms类中的函数进行调用,例如ToTensor()、Normalize()、Resize()、Compose()等。其中,ToTensor()函数用于将PIL Image或者numpy.ndarray类型的图片对象转换为tensor类型;Normalize()函数用于对图像像素进行归一化计算;Resize()函数用于重新设置PIL Image的大小;Compose()函数则可以将多个transforms类型参数组合起来,以便一次性进行多个变换操作。 使用transforms可以方便地对图像进行预处理和增强,使得图像数据更适合用于深度学习任务。通过transforms模块,可以灵活地应用各种变换方法,满足不同任务的需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [PyTorch深度学习入门笔记(五)Transforms的使用](https://blog.csdn.net/qq_44447544/article/details/122448257)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值