본문 바로가기

ML, DL/pytorch4

[Pytorch] 1. 파이토치를 써야하는 이유 & 텐서란 [Pytorch] 1. 파이토치를 써야하는 이유 & 텐서란 이 글은 Deep Learning with pytorch를 번역, 편집한 글 입니다. 1. 딥러닝과 Pytorch 라이브러리 개요 1) 파이토치(Pytorch)란? 파이토치는 딥러닝 프로젝트를 빌드(build)하는 데 도움을 주는 파이썬 프로그램용 라이브러리 입니다. 파이토치는 유연성(flexibility)을 강조하며, 무엇보다 파이썬에서 자연스럽습니다.(파이써닉 하다고 합니다.) 파이토치는 코어 데이터 구조인 텐서(Tensor)를 제공합니다. 이는 NumPy 배열(array)과 비슷한 다차원 배열입니다. 텐서는 수학적 연산을 가속화합니다. 파이토치는 분산 학습을 위한 패키지가 있고, worker는 데이터 불러오기(loading)를 효율적으로 처.. 2020. 2. 24.
[Instance Segmentation] Train code def train_model train_set = Dataset(train_dataset, ...) train_generator = torch.utils.data.DataLoader(train_set, batch_size=1, shuffle=True, num_workers=4) # val_set = # val_generator = # Train optimizer = optim.SGD(params_dict, lr, momentum) for epoch in range(self.epoch+1, epochs+1): record log # Training loss, loss_rpn_class, loss_rpn_bbox, loss_mrcnn_class, los_mrcnn_bbox, loss_mrcnn_mask = .. 2019. 7. 25.
GAN Generative Adversial Network Generator 생성자는 랜덤 벡터 'z'를 입력으로 받아 가짜 이미지를 출력하는 함수다. z는 균등분포(Uniform Distribution)나 정규분포(Normal Distribution)에서 무작위로 추출된 값이다. 생성자는 이렇게 단순한 분포를 사람 얼굴 이미지와 같은 복잡한 분포로 매핑(mapping)하는 함수이다. 생성자 모델에 충분한 수의 매개 변수가 있다면 어떤 복잡한 분포도 근사할 수 있다고 알려져 있다. z 벡터(latent vector)가 존재하는 공간을 잠재 공간(latent space)라 한다. **Discriminator** 구분자는 생성자가 만들어낸 fake image를 입력으로 받아 이미지가 진짜인지 가짜인지 출력한다. D.. 2019. 7. 16.
[Pytorch] 데이터 불러오기 및 처리 Data Loading and Processing Tutorial Transforms 대부분 뉴럴넷은 정해진 크기의 이미지를 입력으로 받는다. 그래서 preprocessing 코드가 필요하다. Rescale RandomCrop : 임의로 이미지를 자른다. (data augmentation) ToTensor : numpy 배열의 이미지를 torch 텐서로 바꾸어준다.(we need to swap axes!) torch 는 효율적인 연산을 위해서 numpy array를 tensor로 바꾸고 모델에 입력한다. ToTensor가 이를 돕는데, 내부 코드는 아래와 같다. class ToTensor(object): def __call__(self, sample): # axis를 바꾼다. # numpy array: .. 2019. 7. 11.
728x90