일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Python
- web
- GAN
- CV
- 딥러닝
- pytorch
- nlp
- FineGrained
- classification
- computervision
- algorithm
- FGVC
- PRML
- 머신러닝
- 알고리즘
- Torch
- 자료구조
- REACT
- 3d
- Depth estimation
- SSL
- Vision
- dl
- nerf
- clean code
- Front
- Meta Learning
- cs
- math
- ML
- Today
- Total
목록Data Science (117)
KalelPark's LAB
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..
Abstract Text의 Unlabeled 데이터는 풍부함. 이에 반하여, 데이터는 풍부하지 못하고, 빈약한 상황임. 이에 따라, 적절한 작업을 수행하기 어려 움. 그러므로, masking을 활용한 학습 방법을 제안 (상당한 성능 개선이 있음.) Masked AutoEncoder와 다르게, Image의 경우 Enocder를 사용하지만, NLP의 경우, Decoder를 사용합니다. Introduction Supervised fine-tunning과 unsupervised pre-training의 결합을 활용하여, language understanding tasks로 접근합니다. Two-stage의 절차를 따라 학습을 진행합니다. 첫 번째는 Unlabeled data를 학습하고, 이후에는 Supervise..
BatchSize에 따른 loss의 변화율 - batch size의 크기에 따라 학습되는 과정은 달라질 수 있습니다. batch size가 작으면, 순간 loss가 커져서 convex hole에 위치한 곳에서 급격하게 자리를 변경할 우려가 있습니다. - batchsize가 크면, 여러 데이터를 평균으로 loss가 구해지기 때문에 훨씬 robustness 해집니다. SSL 시, Batchsize가 커야하는 이유가 아래와 동일합니다. 여러 데이터를 평균으로 backpropagation을 해야 성능이 올라갑니다. 또한 우측의 표를 보면, LR에 작으면 Batchsize가 작을수록 높은 성능이 나오지만, LR이 큰 경우, Batchsize가 클수록 성능이 높이 나오는 것을 알 수 있습니다. 하지만, Batchs..
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..
Abstract 기존 방법론들은 training distribution에 적합한 성능을 달성하였지만, 학습된 네트워크는 과적합되기 쉽고, 적대적 공격에 취약합니다. 이러한 문제를 해결하기 위해, Mixed 기반 Augmentation이 대두가 되지만, 이것은 이전에 인지하지 못한 객체를 인지하는데 초점을 두어, 모델에 오히려 오해의 소지를 제안할 수 있습니다. 이러한 문제를 해결하고자, PuzzleMix를 본 논문에서 제안합니다. 그러므로, 주변 환경정보를 활용하는 학습하는 방법론인 PuzzleMix를 제안합니다. 이는 optimal mixing mask와 saliency discounted optimal transport obejective 사이를 최적화하는 방식으로 문제를 해결하고자 합니다. Intr..
GitHub를 참고하시면, CODE 및 다양한 논문 리뷰가 있습니다! 하단 링크를 참고하시기 바랍니다. (+ Star 및 Follow는 사랑입니다..!) https://github.com/kalelpark/Awesome-ComputerVision GitHub - kalelpark/Awesome-ComputerVision: Awesome-ComputerVision Awesome-ComputerVision. Contribute to kalelpark/Awesome-ComputerVision development by creating an account on GitHub. github.com Abstract 이미지로부터의 Self Supervised Learning의 목표는 대규모 데이터에 대한 annotat..
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..