본문 바로가기
Study/머신러닝

[PyTorch] torchvision을 활용한 image transform

by 투말치 2021. 1. 31.

목차

    반응형

    torchvision을 사용해서 이미지 변형하기

     

    #이미지 가운데 부분을 자르는 것
    torchvision.transforms.CenterCrop(size=(300, 300))(image) 
    
    #범위 안에서 brightness 등 값이 랜덤하게 변함
    torchvision.transforms.ColorJitter(brightness=1, contrast=0, saturation=0, hue=0)(image) 
    
    #rgb를 gray scale로 변경
    torchvision.transforms.Grayscale(num_output_channels=1)(image)
    
    #이미지 크기를 늘림
    torchvision.transforms.Pad(padding=(20, 20), fill=0, padding_mode='constant')(image)
    
    #이미지 회전
    torchvision.transforms.RandomAffine(degrees=90, translate=None, 
    scale=None, shear=None, resample=False, fillcolor=0)(image)
    
    

     

     

    PyTorch에서 텐서보드 열기

     

    import torchvision
    from torch.utils.tensorboard import SummaryWriter
    
    writer=SummaryWriter()

     

     

    학습 코드에 해당 코드를 넣으면 된다.

        if epoch==0:
            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)

     

     

    Learning Rate Scheduler

     

    from torch.optim.lr_scheduler import ReduceLROnPlateau
    scheduler = ReduceLROnPlateau(optimizer, mode='max', factor=0.1, patience=0, verbose=True)
        # Learning Rate Scheduler
        scheduler.step(accuracy, epoch)

    실행하면 다음과 같은 결과가 나온다.

     

    모델 저장하고 로드하기 - 1

    #모델 저장
    torch.save(model.state_dict(), save_path)
    
    #모델 로드
    weight_dict = torch.load(save_path)

    모델 저장하고 로드하기 - 2

    #모델 저장
    torch.save(model, save_path)
    
    #모델 로드
    model = torch.load(save_path)
    

     

     

     

    pytorch.org/tutorials/beginner/saving_loading_models.html

     

    Saving and Loading Models — PyTorch Tutorials 1.7.1 documentation

    Note Click here to download the full example code Saving and Loading Models Author: Matthew Inkawhich This document provides solutions to a variety of use cases regarding the saving and loading of PyTorch models. Feel free to read the whole document, or ju

    pytorch.org

     

     

     

    반응형