반응형

전체 글 823

[논문 구현] PyTorch로 Seq2Seq(2014) 구현하고 학습하기

안녕하세요, 이번 포스팅에서는 PyTorch로 Seq2Seq를 구현하고 학습해보도록 하겠습니다. 작업 환경은 Google Colab에서 진행했습니다. PyTorch 코드는 아래 깃허브에서 참고했습니다. bentrevett/pytorch-seq2seq Tutorials on implementing a few sequence-to-sequence (seq2seq) models with PyTorch and TorchText. - bentrevett/pytorch-seq2seq github.com 논문 리뷰는 아래 블로그에서 확인하실 수 있습니다. [논문 읽기] PyTorch 구현 코드로 살펴보는 Seq2Seq(2014), Sequence to Sequence Learning with Neural Networ..

논문 구현 2021.06.15

[논문 읽기] PyTorch 구현 코드로 살펴보는 Seq2Seq(2014), Sequence to Sequence Learning with Neural Networks

안녕하세요, 오늘 읽은 논문은 Seq2Seq, Sequence to Sequence Learning with Neural Networks 입니다. ㅎㅎ 자연어 처리 분야 논문은 처음 읽어보네요!! Seq2Seq부터 transformer까지 차근차근 읽어나갈 생각입니다. Seq2Seq를 구현하고, 불러온 데이터셋으로 학습까지 해보는 과정은 아래 포스팅에서 확인하실 수 있습니다. [논문 구현] PyTorch로 Seq2Seq(2014) 구현하고 학습하기 안녕하세요, 이번 포스팅에서는 PyTorch로 Seq2Seq를 구현하고 학습해보도록 하겠습니다. 작업 환경은 Google Colab에서 진행했습니다. PyTorch 코드는 아래 깃허브에서 참고했습니다. bentrevett/pytorch-se deep-learn..

논문 읽기/NLP 2021.06.15

[PyTorch] to_pil_image 명령어로 tensor를 pil image로 변경하기

안녕하세요 ㅎㅎ!! 이번 포스팅에서는 tensor인 데이터를 to_pil_image 명령어로 pil data type으로 변경하는 법을 살펴보겠습니다. 정말 편리하게 사용하고 있는데요, 자꾸 까먹어서 기록합니다 ㅎㅎ !! 임의의 데이터를 갖고 왔는데요, 해당 데이터는 data loader에서 추출하여 tensor 형태의 [C,H,W]로 되어있습니다. # 임의의 데이터를 갖고 오겠습니다. for x, y in train_dl: print(x.shape, y.shape) break img = x[0] target = y[0] print(img.shape, target.shape) print(img.dtype) 위 tensor 데이터를 pil 데이터로 변경하여 손쉽게 시각화 할 수 있는 함수가 to_pil_i..

[논문 읽기] Deep Compression(2016), Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding

안녕하세요, 오늘 읽은 논문은 Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding 입니다. 해당 논문에서 제안하는 방법으로 성능저하 없이 AlexNet의 메모리를 240MB -> 6.9MB로 35x 감소시킵니다. VGG-16의 경우에는 552MB -> 11.3MB로 49x 감소시킵니다. 논문에서 제안하는 Deep Compression은 3가지 단계로 구성됩니다. 1) 많은 정보를 포함하는 connection만을 유지한채로 쓸모없는 connection을 제거하여 model을 pruning 합니다. 2) 가중치들을 quantize 합니다. 비슷한 값을 가진 weight들을 ..

[PyTorch] PyTorch에서 제공하는 ResNet을 불러와 마지막 FC layer 수정하기

안녕하세요! 이번 포스팅에서는 PyTorch에서 제공하는 ResNet을 불러오고, 마지막 FC layer를 수정하는 방법을 살펴보겠습니다. import torch.nn as nn from torch.nn import functional as F from .utils_resnet import resnet18 class FaceNet_ResNet18(nn.Module): def __init__(self, embedding_dimension=128, pretrained=False): super().__init__() self.model = resnet18(pretrained=pretrained) # embedding input_features_fc_layer = self.model.fc.in_features ..

[논문 읽기] PyTorch 구현 코드로 살펴보는 FaceNet(2015), A Unified Embedding for Face Recognition and Clustering

안녕하세요, 오늘 읽은 논문은 FaceNet, A Unified Embedding for Face Recognition and Clustering 입니다. 해당 논문은 Triplet Loss를 처음으로 제안한 논문이기 때문에, 호기심에 읽게 되었네요 ㅎㅎ PyTorch 구현 코드와 함께 살펴보도록 하겠습니다. FaceNet은 anchor(특정 사람 얼굴 사진), positive(동일한 사람의 얼굴 사진), negative(다른 사람의 얼굴 사진) 세 개의 사진을 CNN에 전달하여 152차원의 embedding을 생성합니다. (CNN 구조를 수정하면 152차원을 갖는 embedding을 출력할 수 있도록 할 수 있습니다. 아래에서 어떻게 수정했는지 PyTorch 코드로 살펴보겠습니다.) 3개의 embedd..

[논문 구현] PyTorch로 Style Transfer(2015)를 구현하고 학습하기

안녕하세요, 이번 포스팅에서는 Style transfer의 시초가 되는 A Neural Algorithm of Artistic Style 논문을 구현하고 이미지 합성을 진행하겠습니다. 작업 환경은 Google Colab에서 진행했습니다. 논문 리뷰는 아래 포스팅에서 확인하실 수 있습니다. [논문 읽기] PyTorch 구현 코드로 살펴보는 Style Transfer(2015) 안녕하세요, 오늘 읽은 논문은 A Neural Algorithm of Artistic Style 입니다. 해당 논문은 Style Transfer의 시초가 되는 논문이라고 하네요 ㅎㅎ 논문을 읽어도 이해가 잘 되지 않아, 구현코드를 살펴보면서 deep-learning-study.tistory.com 전체 코드는 아래 깃허브에서 확인하실..

논문 구현 2021.06.11

[논문 읽기] PyTorch 구현 코드로 살펴보는 Style Transfer(2015)

안녕하세요, 오늘 읽은 논문은 A Neural Algorithm of Artistic Style 입니다. 해당 논문은 Style Transfer의 시초가 되는 논문이라고 하네요 ㅎㅎ 논문을 읽어도 이해가 잘 되지 않아, 구현코드를 살펴보면서 공부해보았습니다. 전체 코드와 google colab 환경에서 style transfer을 진행하는 포스팅은 아래에서 확인하실 수 있습니다. [논문 구현] PyTorch로 Style Transfer(2015)를 구현하고 학습하기 안녕하세요, 이번 포스팅에서는 Style transfer의 시초가 되는 A Neural Algorithm of Artistic Style 논문을 구현하고 이미지 합성을 진행하겠습니다. 작업 환경은 Google Colab에서 진행했습니다. 논문..

[PyTorch] 모델 중간 레이어에서 특징 추출하기(get the intermediate features from the model)

이번 포스팅에서는 모델의 중간 레이어에서 특징을 추출하는 방법을 살펴보겠습니다. ㅎㅎ pretrained VGG19을 불러오고, 파라미터를 freeze 합니다. # pretrained VGG19를 불러옵니다 import torchvision.models as models device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') model_vgg = models.vgg19(pretrained=True).features.to(device).eval() # 파라미터를 freeze 합니다. for param in model_vgg.parameters(): param.requires_grad_(False) 모델의 중간 레이어의 특징을 얻는 함수를..

[PyTorch] pretrained VGG 불러오고, 파라미터 freeze 하기

안녕하세요! 이번 포스팅에서는 pretrained VGG net을 불러오고, 모델의 파라미터 freeze를 하는 방법을 알아보겠습니다 ㅎㅎ!! 우선 pretrained VGG19를 불러옵니다. # pretrained VGG19를 불러옵니다 import torchvision.models as models device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') model_vgg = models.vgg19(pretrained=True).features.to(device).eval() 파라미터를 freeze 합니다. # 파라미터를 freeze 합니다. for param in model_vgg.parameters(): param.requires..

반응형