본문 바로가기

pyTorch16

PyTorch pre-trained Models PyTorch에서는 사전 학습된 모델들을 제공한다. torchvision을 통해서 computer vision 분야의 모델들을 가져와서 학습할 수 있다. 2025.04.17 기준이다. 자세한 내용은 링크를 확인하면 된다. 아래의 컴퓨터 비전 세부 분야에 따라서 모델들을 불러올 수 있다.ClassificationSemantic SegmentationObject Detection, Instance Segmentation and Person Keypoint DetectionVideo ClassificationOptical FlowClassification더보기AlexNet ConvNeXt DenseNet EfficientNet EfficientNetV2 GoogLeNet Inception V3 MaxVit M.. 2025. 4. 17.
PyTorch Tensor의 차원 변환 파이토치에서 사용하는 텐서는 여러가지 형태로 차원을 변환할 수 있다. 차원의 추가, 삭제도 포함이다. 여기서는 squeeze, unsqueeze, view, reshape, traspose, permute를 알아본다. 1. unsqueeze 지정된 위치에 크기가 1일 차원을 추가 import torchx = torch.tensor([[1, 2, 3], [4, 5, 6]])x.shape>> torch.Size([2, 3])y = x.unsqueeze(0)y, y.shape>> (tensor([[[1, 2, 3], [4, 5, 6]]]), torch.Size([1, 2, 3])) y = x.unsqueeze(1)y, y.shape>>(tensor([[[1, 2.. 2025. 4. 16.
ML와 DL에서의 seed 고정 난수 생성, Random Number Generation (RNG)에 쓰이는 seed 시드를 고정한다. 시드를 고정하면 랜덤 넘버가 생성되는 패턴이 고정되고 재현성이 생긴다. 다음의 패키지에 대해서 적용하면 되는듯 하다. randomnumpysklearntorchtorch.cudaLLM의 경우 multi-gpu 사용시 모든 GPU들에 대한 시드 고려 필요 # Fix the Seeddef set_seed(seed: int = 42): """ PyTorch, NumPy, Python Random, CUDA의 모든 시드를 고정하는 함수 Args: seed (int): 고정할 시드값 (기본값: 42) """ # Python Random 시드 고정 random.. 2025. 1. 2.
PyTorch repeat, repeat_interleave, expand 차이 PyTorch의 repeat와 repeat_interleave와 expand의 주요 차이점을 설명한다.1. torch.repeat:1차원 텐서 x = torch.tensor([1, 2, 3])result = x.repeat(3)>> tensor([1, 2, 3, 1, 2, 3, 1, 2, 3]) 2차원 텐서 x = torch.tensor([[1, 2, 3], [4, 5, 6]])x.repeat(2, 1)>> tensor([[1, 2, 3], [4, 5, 6], [1, 2, 3], [4, 5, 6]]) 이때 repeat 안에 들어가는 숫자는 복사하고자 하는 텐서의 차원이 같아야 한다. 2차원 텐서에 대해서 아래와 같이 입력하면 에러.. 2024. 11. 1.
SPPNet(2014) PyTorch Implementation SPPNet을 Pytorch를 활용하여 구현하고자 한다. https://arsetstudium.tistory.com/35에서 공부한 내용을 토대로 구현보면 아래와 같다. SPPNet은 R-CNN처럼 Spatial Pyramid Pooling을 제외하고 CNN 구조 자체는 기존과 동일하므로 이는 생략한다. SPP는 max pool 또는 average pool이며 중요한 사항은 바로 window와 stride의 사이즈다. 개별 SPP를 우선 구현한다. import torch import torch.nn as nn import math class PyramidPoolCell(nn.Module): # a is the size of feature map # n is the bin size of pyramid po.. 2024. 4. 12.
LSTM 모델 설명과 PyTorch Implementation LSTM 설명 LSTM은 Long Short Term Memory의 약자로 Recurrent Neural Network (RNN)의 하나다. 워낙 오래된 모델이라 논문에 대한 설명 보다는 알고리즘에 대한 설명한 하고 넘어가겠다. 설명을 생략하기에는 Tabular data 등의 예측 모델에 쓴다거나 하는 식으로 응용할 수 있기에 포스팅해야겠다 생각했다. RNN은 기본적으로 sequential model로 순서가 유의미한 모델이다.따라서 단어의 순서가 중요한 NLP라든가 시간에 따른 변화 추이가 중요한 금융 데이터 등에 쓰기 좋은 모델이다.LSTM 역시 RNN의 하나로 sequential model이다. Figure 1을 보면 $t-1$의 이전 state의 cell의 정보가 현재 state인 $t$의 .. 2024. 4. 9.