Recent Posts
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- CV
- nlp
- computervision
- nerf
- ML
- web
- classification
- FineGrained
- pytorch
- clean code
- Front
- Vision
- 딥러닝
- math
- 자료구조
- Meta Learning
- dl
- 알고리즘
- REACT
- Torch
- cs
- 3d
- Depth estimation
- Python
- algorithm
- 머신러닝
- PRML
- GAN
- FGVC
- SSL
- Today
- Total
KalelPark's LAB
[ Self Supervised Learning ] Jigsaw Permutations table 생성하기 본문
Data Science/Self Supervised Learning
[ Self Supervised Learning ] Jigsaw Permutations table 생성하기
kalelpark 2023. 1. 4. 17:29
* 본 논문에서, 활용되는 내용입니다. (참고하시기 바랍니다.)
https://kalelpark.tistory.com/45
Jigsaw Permutations Table
- Self Supervised Learning에서, Patch에 대한 정보를 학습함으로써, Image의 Representation을 학습하기 위해 필요한
방식입니다. 위의 방식을 사용하는 이유로는, low representation에서, High representation을 이해하기 위함이다.
import itertools
import numpy as np
import random
from scipy.spatial.distance import cdist
from tqdm import tqdm
paraser = args.ArgumentParaser()
parser.add_arugment("-n", "--n_classes", type = int,
default = 1000, dest = "n_classes")
parser.add_arugment("-p", "--save_path", type = str,
default = "./permutations.npy", dest="save_path")
args = parser.parase_args()
n_classes = args.n_classes
P_hat = np.array(list(itertools.permutations(list(range(9)), 9)))
with tqdm(total = n_classes) as bar:
for i in range(n_classes):
if i == 0:
j = random.randint(0, P_hat.shape[0])
P = np.array(P_hat[j]).reshape([1, -1])
else:
P = np.concatenate([P, P_hat[j].reshape([1, -1])], axis=0)
P_hat = np.delete(P_hat, j, axis = 0)
P_hat = np.delete(P_hat, j, axis = 0)
D = cdist(P, P_hat, metric='hamming').mean(axis=0).flatten()
j = D.argmax()
bar.update(1)
np.save(args.save_path, P)
'Data Science > Self Supervised Learning' 카테고리의 다른 글
Comments