Part3-22 Pytorch - 03. dataset loader - torchvision.transforms
파이토치 전처리 함수들 확인
잘사용하면 test셋에서 성능 향상의 가능성 있음
원본사진

centercrop
중앙 부분 추출
torchvision.transforms.CenterCrop(size= (300,300))(image)

ColorJitter
이미지를 바꿔줌 밝기,명암
torchvision.transforms.ColorJitter(brightness=1, contrast=0, saturation=0, hue =0)(image)

FiveCrop
5개의 이미지로 바꿔줌(정확히 5등분하는 것은 아님)
torchvision.transforms.FiveCrop(size= (300,300))(image)[0]

grayscale
회색조로 변경
torchvision.transforms.Grayscale(num_output_channels=1)(image)

pad
이미지가 작을때, padding으로 크기조절
torchvision.transforms.Pad(padding=(50,50),fill=0, padding_mode='constant')(image)

RandomAffine
이미지 회전, 회전후 남는 공간은 fillcolor로 체워짐
torchvision.transforms.RandomAffine(degrees=90, fillcolor=0)(image)

RandomApply
랜덤하게 이미지 변환 적용
p는 확률 앞에 있는 것을 적용하는가 마는가
transforms = [torchvision.transforms.Grayscale(num_output_channels=1),
torchvision.transforms.CenterCrop(size= (300,300)),
torchvision.transforms.RandomAffine(degrees=90, fillcolor=0)]

randomchoice
transforms 중 하나 선택
torchvision.transforms.RandomChoice(transforms)(image)
randomcrop
자동으로 cropping
torchvision.transforms.RandomCrop(size= (300,300))(image)
RandomGrayscale
랜덤하게 grayscale한것과 아닌거 불러옴
torchvision.transforms.RandomGrayscale(p= 0.5)(image)
RandomHorizontal
Flip좌우 변환
torchvision.transforms.RandomHorizontalFlip(p= 0.5)(image)
Resize
크기 변환
이미지를 맞춰줘야 할때
input사이즈 알면 미리 맞추고 시작하면 좋음
torchvision.transforms.Resize((100,100))(image)

transform on tensor
tensor = torchvision.transforms.ToTensor()(image)
trans = torchvision.transforms.Normalize(mean = (0,0,0), std = (1,1,1))(tensor)
plt.imshow(trans.numpy().transpose(1,2,0)) #pytorch에 맞게 채널 위치 변경
#랜덤하게 지워지는거 확인
trans = torchvision.transforms.RandomErasing(p= 0.5, scale= (0.02, 0.33),
ratio = (0.3, 3.3),value = 0)(tensor)
plt.imshow(trans.numpy().transpose(1,2,0))

Part3-23 Pytorch - 04. pytorch에서 TensorBoard
파이토치에서도 텐서보드 사용가능
파이토치에서는 알아서 날짜와 시간 넣어서 진행
돌아가는 중에서도 실시간으로 업데이트 됨
import
import torchvision
from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter()
모델하단부에 삽입
grid = torchvision.utils.make_grid(data) #이미지를 분할
writer.add_image('images',grid, epoch) #매에폭마다 진행
writer.add_graph(model, data) #그래프를 그림
writer.add_scalar('Loss/train/', loss, epoch)
writer.add_scalar('Loss/test/', test_loss, epoch)
writer.add_scalar('Accuracy/test/', accuracy, epoch)
'책&강의 학습 > 올인원 패키지 :딥러닝&인공지능' 카테고리의 다른 글
| [패스트캠퍼스 수강 후기] 인공지능강의 100% 환급 챌린지 20회차 미션 (0) | 2020.07.18 |
|---|---|
| [패스트캠퍼스 수강 후기] 인공지능강의 100% 환급 챌린지 19회차 미션 (0) | 2020.07.17 |
| [패스트캠퍼스 수강 후기] 인공지능강의 100% 환급 챌린지 17회차 미션 (0) | 2020.07.15 |
| [패스트캠퍼스 수강 후기] 인공지능강의 100% 환급 챌린지 16회차 미션 (0) | 2020.07.14 |
| [패스트캠퍼스 수강 후기] 인공지능강의 100% 환급 챌린지 15회차 미션 (0) | 2020.07.13 |
댓글