반응형

🐍 Python & library 49

[matplotlib] matplotlib.pyplot을 이용한 이미지 시각화 총정리

0Install pip install matplotlib Import import matplotlib.pyplot as plt * 버전 확인 import matplotlib print(matplotlib.__version__) plot image #load image import cv2 img = cv2.imread('dog.jpg') img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) #show iage plt.imshow(img) figure 크기 조절 plt.figure(figsize=(15, 15)) plt.imshow(img) colorbar 표시 plt.imshow(img[...,0]) #마지막 채널만 표시 plt.colorbar() * Colorbar 위치 이동 (v..

Numpy & PyTorch로 2D fourier transform, inverse fourier transform하기

사용할 이미지 Load image import cv2 import matplotlib.pyplot as plt img = cv2.imread('dog.jpg', cv2.IMREAD_GRAYSCALE) img = cv2.resize(img, (256, 256)) print(img.shape) plt.imshow(img, cmap='gray') plt.colorbar() (256, 256) FFT and IFFT using numpy import numpy as np fft_img = np.fft.fftshift(np.fft.fft2(img, norm='ortho')) print(fft_img.shape, fft_img.dtype) plt.imshow(np.abs(fft_img), cmap='gray') p..

[PyTorch] make_grid로 여러 개의 이미지 한번에 plot하기

Official Docs: https://pytorch.org/vision/main/generated/torchvision.utils.make_grid.html make_grid — Torchvision main documentation Shortcuts pytorch.org 여러개의 이미지를 합쳐서 하나의 grid로 만들어주는 torchvision.utils.make_grid 함수를 소개해 보고자 한다. tensor (Tensor or list) : grid를 만들 이미지들. 4D mini-batch Tensor (B x C x H x W) 혹은 동일한 크기의 image를 담고 있는 list를 줄 수 있다. nrow (int, optional) : grid의 행 갯수를 지정해줄 수 있다. 열 갯수는 자..

[HuggingFace] Trainer 사용법

Official Docs: https://huggingface.co/docs/transformers/v4.19.2/en/main_classes/trainer Trainer When using gradient accumulation, one step is counted as one step with backward pass. Therefore, logging, evaluation, save will be conducted every gradient_accumulation_steps * xxx_step training examples. huggingface.co Trainer class는 모델학습부터 평가까지 한 번에 해결할 수 있는 API를 제공한다. 다음의 사용예시를 보면 직관적으로 이해할 수 있다. f..

[HuggingFace] Tokenizer의 역할과 기능, Token ID, Input ID, Token type ID, Attention Mask

HuggingFace의 Tokenizer을 사용하면 Token (Input) ID, Attention Mask를 포함한 BatchEncoding을 출력으로 받게 된다. 이 글에서는 이러한 HuggingFace의 Model input에 대해 정리해 보고자 한다. Tokenizer class에 대한 게시물은 여기에서 확인할 수 있다. 참고: Official Docs Glossary Fine-tune for downstream tasks huggingface.co Tokenizer HuggingFace의 Tokenizer을 다음과 같이 우선 정의한다. 본 예제에서는 BertTokenizer을 사용한다. from transformers import BertTokenizer tokenizer = BertToken..

[HuggingFace] Tokenizer class 알아보기

Official Docs: https://huggingface.co/docs/transformers/v4.19.2/en/main_classes/tokenizer Tokenizer Returns List[int], torch.Tensor, tf.Tensor or np.ndarray The tokenized ids of the text. huggingface.co Github: https://github.com/huggingface/tokenizers Tokenizer은 모델에 들어갈 input을 준비하는 데에 필요하다. Hugging Face에서 제공하는 Tokenizer class를 통해 쉽게 이용할 수 있다. 기본이 되는 class들은 PreTrainedTokenizer와 PreTrainedTokeni..

[HuggingFace] Pipeline & AutoClass

PyTorch에서의 사용법 위주로 정리한 글 Quick tour Get up and running with 🤗 Transformers! Start using the pipeline() for rapid inference, and quickly load a pretrained model and tokenizer with an AutoClass to solve your text, vision or audio task. All code examples presented in the documentation have a huggingface.co HuggingFace의 가장 기본 기능인 pipeline()과 AutoClass를 소개한다. pipeline()은 빠른 inference를 위해 사용할 수 있고, Au..

[PyTorch] model weight 값 조정하기 / weight normalization

PyTorch model의 weight값을 바로 바꾸려고 하면 FloatTensor을 parameter로 사용할 수 없다는 에러가 발생한다. import torch.nn as nn model = nn.Sequential(nn.Linear(10, 5), nn.ReLU(), nn.Linear(5, 4, bias=False)) model[2].weight = model[2].weight/2. >> cannot assign 'torch.FloatTensor' as parameter 'weight' (torch.nn.Parameter or None expected) 학습 도중 사용하는 weight normalization은 nn.utils.weight_norm을 사용하면 되는 것 같지만, 바로 weight 값에 ..

[PyTorch] nn.Conv의 padding과 padding_mode

PyTorch 에서 제공하는 convolution 함수에 설정 가능한 parameter 중padding과 padding_mode라는 것이 있다. padding의 경우 padding의 크기를 지정할 수 있는 parameter인데 (int 혹은 tuple), PyTorch 1.9.0부터 string으로 지정할 수 있는 옵션이 추가되었다. 이는 Tensorflow에서는 원래 있던 옵션인데, padding의 크기를 직접 지정하는 대신 same 혹은 valid 옵션을 주면 input size에 맞게 자동으로 padding 크기가 설정된다. valid는 padding을 따로 주지 않고 input image 자체만을 이용해 convolution 연산을 수행한다. same은 output size가 input size와..

반응형