『跟我做AI工程化』使用Python原生实现PyTorch的Transforms数据变换操作[已完成:Resize、ToTensor与normalize]

本文介绍了如何在Python中不使用torchvision.transforms包,独立实现PyTorch训练模型时的数据转换操作,包括Resize、ToTensor和Normalize。详细解释了每个操作的原理,并提供了相应的代码实现,适用于Python、Java和C++平台。

 

0x01:引子

 

在应用PyTorch训练好的模型时,为了保证模型的准确稳定性,需要保持与训练时相同的操作。

实际的应用部署中依赖项越少越好,所以下面笔者将演示如何在Python中不使用“torchvision.transforms”包来实现数据转换操作。抛砖引玉,讲述笔者如何思考与实现以便于读者朋友在Java与C++平台也能完成类似操作。

在模型的训练与测试时,我们通常会借助“torchvision.transforms”包来实现那个对数据变换的操作。一般会包括统一化图片的尺寸(Resize)、数据格式转化(ToTensor)与数据归一化大小(Normalize)等操作。

具体步骤:

  1. 使用“torchvision.transforms”来定义一个数据变化方法:trans_f。
  2. 通过调用trans_f实现数据转化

如下所示:

import cv2
import PIL
import numpy as np
import torchvision

trans_f = torchvision.transforms.Compose([

            torchvision.transforms.Resize((64,128)),
            torchvision.transforms.ToTensor(),
            torchvision.transforms.Normalize([0.485, 0.456, 0.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小宋是呢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值