Deep Learning/PyTorch & Deep Learning
[실습] PyTorch 기초 - Transforms
서린이1
2025. 1. 5. 00:46
[실습] PyTorch 기초 - Transforms
Transforms
- Torchvision에서는 Computer Vision에서 사용되는 다양한 모델, 데이터셋들을 제공
- 여기서 torchvision의 transforms 모듈은 이미지 전처리에 관련된 유용한 기능들을 제공
- 예를 들어,
- ToTensor : image를 tensor로 변환하고 0~1 사이 값으로 normalize
- Data augmentation (데이터 증강)
- Gaussian Blur
- Random Affine, 등
PreProcessing(전처리)
Deep Learning Pipeline(process)
- Raw Input -> Deep Learning Pipeline -> Cat! (Output)
MLOps에서의 pipeline의미는 조금 다름
여기서는 raw input에 대해서 output으로 mapping하는 일련의 과정을 의미한다.
CV case.
전처리 -> 딥러닝모델 -> 후처리
[전처리]
- 이미지를 H' W'로 resize한다.
- 왜냐하면 NN의 input으로 mini-batch를 구성하는 데이터들은 동일한 dimension (shape)을 가져야 한다.
- 그래야 mini-batch을 Matrix 혹은 Tensor로 표현할 수 있다!
- resized 된 이미지를 numpy 배열로 변환
- 0~1사이 값으로 normalize 한다
- Torchvision의 Transforms은 CV와 관련된 전처리 함수, 기능들을 포함!
[딥러닝 모델]
NN Model은 전처리 값을 입력받아서 또 다른 Tensor값을 출력한다.
model(img) tensor([0.9900, 0.100]) # 고양이일 확률 예측 0.999 # 강아지일 확률 예측 0.100
[후처리]
- Cat!
- 비록 해당 예제에서는 간단하지만 더 복잡한 전처리의 task도 많이 있다.
- e.g. Object Detection, Segmentation, NLP ...
출처: 인프런 | 딥러닝 이론 + PyTorch 실무 완전 정복