일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 컴퓨터구조
- remixmatch paper
- Pix2Pix
- simclrv2
- shrinkmatch
- WGAN
- SSL
- UnderstandingDeepLearning
- BYOL
- 백준 알고리즘
- CGAN
- Pseudo Label
- shrinkmatch paper
- mme paper
- dcgan
- conjugate pseudo label paper
- GAN
- 딥러닝손실함수
- cifar100-c
- adamatch paper
- CoMatch
- dann paper
- tent paper
- 최린컴퓨터구조
- ConMatch
- CycleGAN
- mocov3
- semi supervised learnin 가정
- Entropy Minimization
- Meta Pseudo Labels
- Today
- Total
목록분류 전체보기 (247)
Hello Computer Vision
이번에 SSL공부하면서 loss를 좀 제대로 정의해야겠다고 생각해서 파이토치 문서에서 찾아보고 한번 뜯어볼라고한다. https://pytorch.org/docs/stable/generated/torch.nn.TripletMarginLoss.html TripletMarginLoss — PyTorch 2.0 documentation Shortcuts pytorch.org 우선 triplet margin loss와 triplet margin distance loss가 있던데 지금 공부하는건 후자이다. import torch def triplet_margin_with_distance_loss( anchor:Tensor, positive:Tensor, negative:Tensor, distance_fucntion..
코드를 공부하는데 argmax의 keepdim = True라는 것을 보았다. 이전부터 보았던 건데 왜 공부안했는지 싶어서 남겨두려고 한다. 일단 직관적으로 유지할 수 있다는 것을 알 수 있다. arr = torch.rand(2, 3, 4) pred = arr.argmax(2, keepdim = False) print(pred) print(pred.shape) tensor([[0, 2, 1], [0, 2, 1]]) torch.Size([2, 3]) 크기가 (2, 3, 4)인 텐서에 argmax를 취해주면 가장 높은 값을 기준으로 주어진 인자에 따라 차원 한개가 사라지는 것을 볼 수 있다. arr = torch.rand(2, 3, 4) pred = arr.argmax(2, keepdim = True) pri..
https://arxiv.org/abs/1503.02531 Distilling the Knowledge in a Neural Network A very simple way to improve the performance of almost any machine learning algorithm is to train many different models on the same data and then to average their predictions. Unfortunately, making predictions using a whole ensemble of models is cumbersome arxiv.org Knowledge distilation(이하 KD)을 공부하게 되면서 태초의 논문을 볼 필요가 ..
https://www.acmicpc.net/problem/13909 13909번: 창문 닫기 첫 번째 줄에는 창문의 개수와 사람의 수 N(1 ≤ N ≤ 2,100,000,000)이 주어진다. www.acmicpc.net 처음에는 [True, False] 리스트를 만들고 반복문을 돌려 하나씩 열고 닫는 과정을 반복했는데 바로 메모리 부족이 떴다. 아마 문제에서 제기된 n의 범위가 21억이라 그런 거 같다.. 그래서 다른 분들의 풀이를 살펴본 결과 해당 인덱스의 약수의 개수가 홀수이면 창문은 열린 상태이다. 처음부터 창문은 닫혀있으므로 약수가 1개: 열림, 약수가 2개: 열림-닫힘, 약수가 3개: 열림-닫힘-열림.. 이렇게 반복되므로 약수가 홀수이면 되는 것인데 1부터 n까지의 수 중 약수가 홀수인 것을 어..
https://arxiv.org/abs/1810.04805 BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding We introduce a new language representation model called BERT, which stands for Bidirectional Encoder Representations from Transformers. Unlike recent language representation models, BERT is designed to pre-train deep bidirectional representations from unla arxiv.org BeiT나 SSL 관련 논문을 ..
https://www.acmicpc.net/problem/1735 1735번: 분수 합 첫째 줄과 둘째 줄에, 각 분수의 분자와 분모를 뜻하는 두 개의 자연수가 순서대로 주어진다. 입력되는 네 자연수는 모두 30,000 이하이다. www.acmicpc.net 접근하기는 쉬웠는데 깔끔한 코드로 접근하기는 어려웠다. 일단 유클리드 호제법을 이용해서 최대공약수를 구해주고, 분모와 분자를 따로따로 구한 후, 분모와 분자에 대한 최대공약수로 나누어주면 되는 문제였다. 처음에 다른 분들의 코드를 보면서 이해가 안간 부분은 분자 부분이었는데 이는 예시로 한번 접근해보면 쉬운 거 같다. a, b = map(int, input().split()) c, d = map(int, input().split()) def gcd(..
https://www.acmicpc.net/problem/7785 7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net 일단 시간제한이 있어서 리스트를 이용해 풀면 안되겠다고 1차적으로 생각했다. 그래서 첫번째 코드대로 풀었는데 시간초과가 났는데 내가봐도 코드가 지저분하긴 하다. 그래서 다른 분들의 풀이를 한번 살펴봤다. n = int(input()) dic_ = {} name_list = [] for i in range(n): name, inout = input().spli..
https://www.acmicpc.net/problem/1181 단어를 정렬하는 것인데 핵심은 단어 개수를 먼저 봐야한다는 것이다. 그리고 나서 단어 개수가 같다면 알파벳순으로 정렬하라는 것인데 상위 정렬이 개수이고, 하위 정렬이 알파벳인걸 알 수 있다. 그렇다면 코드에서는 먼저 하위 정렬 개념인 알파벳 정렬을 해주고 상위 정렬인 개수로 정렬을 해주면 된다. n = int(input()) word_list = [] for _ in range(n): word_list.append(input()) word_list = set(word_list) word_list = list(word_list) word_list.sort() word_list.sort(key = len) for i in word_list: ..