ResNet101을 기준으로 구현했다. bottleneck 을 class로 따로 떼었으며, first 변수로 사이즈를 줄이는 layer 여부를 구분했다. bottleneck은 conv 1x1 - batchnorm - relu - conv 3x3 - batchnorm - relu - conv 1x1 - skip connection - batchnorm - relu로 구성했다. 1. Setup import torch import torch.nn as nn import numpy as np import torchvision import torchvision.transforms as transforms from torch.utils.data import DataLoader import torch.optim as..

AlexNet 보다 더 깊은 16 / 19 Layer까지 쌓은 Network로 그 이상 쌓는 경우 Saturation에 의해 더 깊게 쌓는 것이 무의미한 실험결과를 논문에서는 언급하고 있으며, 비교적 간단한 구조로 높은 성능을 내어 아직까지 자주 사용되는 모델이다. 각 Block 마다 Maxpool이 추가되어 있어 적은 Tuning으로 U-net 구조의 Feature Extractor로 사용되기도 한다. 1. Setup import torch.nn as nn import torch import torchvision import torchvision.transforms as transforms from torch.utils.data import DataLoader import torch.optim as o..
Vision Transformer를 간단하게 구현해보자 patch단위로 sequence형태로 변형하여 image embedding, multi head attention, MLP 구조로 구현하려고 한다. 1. Setup import torch import torch.nn as nn from torch import Tensor import torchvision import torchvision.transforms as transforms from torch.utils.data import DataLoader import torch.optim as optim from einops import rearrange, repeat from einops.layers.torch import Rearrange, Redu..