전체 글
[MMRotate] 개념
MMRotate 특징 Support multiple angle representations (세 가지 주요 각도 표현을 제공) Modular Design (모듈식 설계. rotated object detection framework를 여러 구성 요소로 분해하여 다른 모듈을 결합하여 새 모델을 훨씬 쉽고 유연하게 구축 가능) Strong baseline and State of the art (강력한 베이스라인과 rotated object detection 분야의 sota methods를 제공) MMRotate란 MMRotate는 4가지 main parts로 이루어져 있음 : datasets, models, core, apis - dataset : data loading과 data augmentation을 ..
[Linux] 서버에서 jupyter notebook 사용하기
먼저 서버의 ip 주소를 확인한다. ip addr show config 파일을 생성한다. jupyter notebook --generating-config 그럼 user home 경로에 다음과 같은 config 파일이 생성된다. /data001/~~~~~~/.jupyter/jupyter_notebook_config.py 서버 비밀번호를 생성한다. (안해도됨) 터미널을 새로 열고 ipython In [1] : from notebook.auth import passwd In [2] : passwd() Enter password: Verify password: Out [2] : 'argon2:~~~~~~' # 입력한 비밀번호를 암호화해서 반환해줌 In [3] : quit() # 빠져나옴 주의할 점은 비밀번호를..

[그래프 탐색 알고리즘] DFS/BFS
탐색(Search)이란 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정을 말한다. 대표적인 그래프 탐색 알고리즘으로는 DFS와 BFS가 있다. DFS/BFS는 코딩 테스트에서 매우 자주 등장하는 유형이므로 반드시 숙지해야 한다. - 스택(Stack) : 선입후출 리스트의 append()와 pop() 메서드를 이용해 구현한다. - 큐(Queue) : 선입선출 리스트로 구현할 수 있지만 시간 복잡도 때문에 비효율적이기 때문에 collections 라이브러리의 deque를 사용한다. append()를 통해 삽입, popleft()를 통해 삭제한다. - 재귀함수(Recursive Function) : 자기 자신을 다시 호출하는 함수 재귀 함수를 문제 풀이에서 사용할 때는 재귀 함수의 종료 조건을 반드시 명시..
큐(queue)
더보기 참고 큐(queue) : 선입선출. FIFO(First In First Our) 기반의 자료구조이다. 큐를 구현하는 방법은 세 가지가 있다 : list, deque, Queue 1. list 가장 간단한 방법이지만 pop(0) 또는 insert(0, x)의 시간 복잡도가 O(N)이기 때문에 성능적으로 불리하다. 방향에 따라 다음과 같이 두 가지 형태로 표현할 수 있다. (1) append() : 뒤에서 데이터 추가, pop(0) : 앞에서 데이터 제거 >>> queue = [4, 5, 6] >>> queue.append(7) >>> queue.append(8) >>> queue [4, 5, 6, 7, 8] >>> queue.pop(0) 4 >>> queue.pop(0) 5 >>> queue [6,..

[선형 자료구조] 스택, 큐
더보기 참조 스택(Stack) : 나중에 넣은 데이터가 먼저 반환 (LIFO: Last In First Out) - 파이썬에서의 스택 : 리스트를 사용하여 스택 구조로 데이터를 처리할 수 있다. 데이터 입력 : append() # push 데이터 출력 : pop() # pop, 맨 마지막에 있는 값을 뽑아서 준다. 뽑아낸 데이터는 리스트 내에서 없어짐 큐(Queue) : 먼저 줄 선 데이터가 먼저 반환 (FIFO: First In First Out) - 파이썬에서의 큐 : 마찬가지로 리스트를 이용한다. 데이터 입력 : append() # push 데이터 출력 : pop(0) # get, 맨 앞에 있는 값을 뽑아서 준다. 뽑아낸 데이터는 리스트 내에서 없어짐
[선형 자료구조] 해시 테이블
참고자료 더보기 출처 : 파이썬 알고리즘 인터뷰 (279p~) 해시 테이블 또는 해시 맵은 키를 값에 매핑할 수 있는 구조인, 연관 배열 추상 자료형(ADT)을 구현하는 자료구조다. - 해시 테이블의 가장 큰 특징은 시간 복잡도가 O(1)이라는 점이다. 해시 함수란 임의 크기 데이터를 고정 크기 값으로 매핑하는 데 사용할 수 있는 함수를 말한다. ABC → A1 1324BC → CB (여기서 화살표 역할을 하는 함수가 바로 해시 함수다) - 해시 테이블을 인덱싱하기 위해 이처럼 해시 함수를 사용하는 것을 해싱(Hashing)이라 하며, 해싱은 정보를 가능한 한 빠르게 저장하고 검색하기 위해 사용하는 중요한 기법 중 하나다. - 해싱이 사용되는 분야 : 최적의 검색이 필요한 분야 심볼 테이블 등의 자료구조..

[ECCV 2020] DETR : End-to-End Object Detection with Transformers (Facebook AI)
논문 : https://arxiv.org/abs/2005.12872 코드 : https://github.com/facebookresearch/detr 참고자료 : https://www.youtube.com/watch?v=hCWUTvVrG7E 논문의 장점 기존의 object detection 기술과 비교했을 때 구조가 매우 간단하며 또한 경쟁력 있는 성능을 보인다. 논문의 단점 학습 시간이 오래걸림. (논문에서는 16개의 V100 GPUs 로 3일동안 300 epochs 학습) 제안하는 것 DETR (DEtection TRansformer) : ① 이분 매칭 손신 함수 + ② Transformer backbone : 이미지에서 feature를 추출 positional encoding : 이미지에서 상대적인..

[CVPR 2020] Learning to Cartoonize Using White-box Cartoon Representation 논문 리뷰
논문 : openaccess.thecvf.com/content_CVPR_2020/html/Wang_Learning_to_Cartoonize_Using_White-Box_Cartoon_Representations_CVPR_2020_paper.html 코드 : github.com/SystemErrorWang/White-box-Cartoonization 이미지를 만화처럼 바꿔주는 Cartoonization model이다. 현재 진행하고 있는 연구 분야라 논문을 읽어 보았는데, Cartoon만의 특징적인 representation 들을 캐치해서 White-box model로 만든 게 인상적이었다. 일반적인 Style Transfer model이 아닌 이렇게 특정 도메인에 특화된 style transfer mod..