『跟我做AI工程化』使用Python原生实现PyTorch的Transforms数据变换操作[已完成:ResizeToTensor与normalize]
Posted 小宋是呢
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了『跟我做AI工程化』使用Python原生实现PyTorch的Transforms数据变换操作[已完成:ResizeToTensor与normalize]相关的知识,希望对你有一定的参考价值。
0x01:引子
在应用PyTorch训练好的模型时,为了保证模型的准确稳定性,需要保持与训练时相同的操作。
实际的应用部署中依赖项越少越好,所以下面笔者将演示如何在Python中不使用“torchvision.transforms”包来实现数据转换操作。抛砖引玉,讲述笔者如何思考与实现以便于读者朋友在Java与C++平台也能完成类似操作。
在模型的训练与测试时,我们通常会借助“torchvision.transforms”包来实现那个对数据变换的操作。一般会包括统一化图片的尺寸(Resize)、数据格式转化(ToTensor)与数据归一化大小(Normalize)等操作。
具体步骤:
- 使用“torchvision.transforms”来定义一个数据变化方法:trans_f。
- 通过调用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.406], [0.229, 0.224, 0.225])
])
bgr_img = cv2.imread("demo.png")
src_img = c
以上是关于『跟我做AI工程化』使用Python原生实现PyTorch的Transforms数据变换操作[已完成:ResizeToTensor与normalize]的主要内容,如果未能解决你的问题,请参考以下文章
大咖博闻荟 | 跟我做:实现 macOS 和 AD 密码同步
Unity语音识别(百度AI长语句语音识别&Unity原生短语语音识别)