전체 글

    [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..

    [ECCV 2020] GAN Slimming 논문 리뷰

    논문 : arxiv.org/abs/2008.11062 제목에서 바로 알 수 있듯이 GAN 모델의 경량화를 위한 논문이다. 처음 접해보는 분야라 자세하게 리뷰하지는 못했고 어떤 방법을 사용하는지에 대한 개념적인 이해에 중점을 두었다. 1. Introduction GAN은 다양한 컴퓨터 비전 어플리케이션에서 인기를 얻고 있으며, 최근에는 리소스가 제한된 모바일 장치에 배포되기 시작했다. 하지만 GAN 압축 연구는 아직 초기 단계이며, 기존의 방법들은 압축 기술을 단독으로 하나씩만 사용하고 있었다. 따라서 본 논문에서는 주요한 압축 기술인 Model distillation / channel pruning / quantization 통합해 end to end 로 최적화 할 수 있는 프레임 워크인 GAN Slim..