일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Torch
- web
- classification
- FineGrained
- 알고리즘
- FGVC
- 자료구조
- PRML
- Python
- clean code
- CV
- SSL
- nlp
- REACT
- 딥러닝
- GAN
- Vision
- Front
- computervision
- Depth estimation
- cs
- Meta Learning
- dl
- ML
- 3d
- math
- pytorch
- 머신러닝
- algorithm
- nerf
- Today
- Total
목록Data Science/CODE (14)
KalelPark's LAB
딥러닝을 돌리다보면, Memory가 부족하면, CUDA Out Of Memory를 자주 만나게 됩니다. GPU 메모리가 부족이 많이 발생하였을 때, 메모리 부족이 일어나는 이유이기도 때문입니다. batch size가 학습에 큰 영향을 미치지 않는다면 상관이 없지만, batch size는 학습에 큰 영향을 줍니다. batch size가 큰 배치사이즈를 사용하는 이유는 학습시에 정보의 노이즈를 제거하고 더 나은 gradient decsent를 수행할수 있습니다. Explained of Gradient Accumulate [CODE] model.zero_grad() # Reset gradients tensors for i, (inputs, labels) in enumerate(training_set): pre..
MixUp 구현. import torch import numpy as np import matplotlib.pyplot as plt import torchvision import torchvision.transforms as transforms transform = transforms.Compose([ transforms.Resize((224, 224)), transforms.ToTensor(), # transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)) ]) batch_size = 4 trainset = torchvision.datasets.STL10(root='./temp', split = "train", download=True, transform=tran..
Problem SSL로 Batchsize를 최대한 늘려 학습하고자 하는데, 잘 안되어 분산처리를 봤다. 사실 연관은 없는 것 같다.. (불가능.ㅠ) 결론 저희 연구실에서는 SSL을 하려면,TeslaV100을 하나 장만해야 함을 느꼈습니다.. import os local_rank=int(os.environ["LOCAL_RANK"]) import torch import torch.distributed as dist from torch.utils.data.distributed import DistributedSampler import torchvision.transforms as T from torch.utils.data import DataLoader from torchvision.models import ..
Load Library import torch import timm import numpy as np from einops import repeat, rearrange from einops.layers.torch import Rearrange from timm.models.layers import trunc_normal_ from timm.models.vision_transformer import Block Patch shuffle을 하기 위한 Class 및 function 구축 * forward_indexes : (16, 2) * backward_indexes : (16, 2) 이후, take_indexes를 거칠 때, gather는 각 차원의 vector를 0을 axis로 사용하므로, depth, c..
Logger - 서버에서 프로그램을 돌릴 때, 알아보기 쉽게 많은 것을 저장해두는 것이 좋습니다. print를 단순하기 사용하기 보다는, logger를 활용해서 저장해두는 것이 좋습니다. - 만약 loggging 시, text 파일을 이어쓰고자 한다면, mode를 "w"가 아닌 "a"를 사용하면 됩니다. wandb와 같이 어떻게 보면 유용하게 활용할 수 있습니다. 저는 이전에 tqdm을 사용하는데, 이제는 logger를 사용하려고 합니다. import sys class Logger(object): def __init__(self, local_rank = 0, no_save = False): self.terminal = sys.stdout self.file = None self.local_rank = lo..
BERT가 무엇인지에 관련해서는, 하단의 링크를 참조하시면, 감사하겠습니다..! [논문 리뷰] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding Abstract BERT(Bidirectional Encoder Representations Transformers)에 대해서 소개합니다. BERT는 모든 layer로부터 양방향 정보를 활용하여, 학습합니다. 이후, downstream시, 단지 하나의 layer를 추가하여도, pretraining kalelpark.tistory.com 하단의 링크를 통해서, 데이터를 다운로드 하는 것이 가능합니다..! !git clone https://github.com/e9t/nsm..