[알고리즘] Kadane’s(카데인) Algorithm - Array에서 부분합의 최대 찾기
·
Algorithms 💻/Basic
요즘 매일 leetcode daily 문제를 풀고 있다. 생각보다 동기부여가 잘 되어서 너무 좋다! 오늘은 Dynamic Programming 알고리즘의 일종인 Kadane’s(카데인) Algorithm에 대해 포스팅해보고자 한다. Dynamic programming은 문제를 sub problems로 나누어, sub problem을 그 다음 step의 답을 구하는데에 계속해서 저장해놓고 이용하는 개념이다. # Kadane's Algorithm? 일단 이 알고리즘은 숫자 Array가 주어졌을 때, 이 array 내 연속된 subset 원소들의 합 중 가장 max인 값을 반환하는 알고리즘이다. 문제를 예로 들면 이렇다. 주어진 배열 A를 [1,-2,3,5,-4,2,5] 라고 했을 때 Maximum Subar..
[Linux] 여러 디렉토리를 merge하기
·
Linux
모델들을 돌리다보면 데이터셋을 구성하는 과정에서 데이터 디렉토리를 merge 해야할 경우가 많이 발생한다. 하지만 보통 데이터 디렉토리는 너무 크므로... 이들을 직접 copy & paste 하기에는 너무 느릴 수 있다. 따라서 이럴 때는 다음과 같은 명령어를 사용하면 된다! 아래 명령어는 b 디렉토리에 있는 데이터를 a 디렉토리로 merge 하겠다는 것이다. (b > a) $ rsync -avhu --progress b/ a/ 출처는 여기이다! :)
[HDMap] HDMapNet (ICRA'22) - 이미지로부터 HDMap을 생성하기
·
Autonomous Driving 🚙/HDmap
Title HDMapNet: An Online HD Map Construction and Evaluation Framework (ICRA’22) Paper link Codes Motivation HD semantic map을 생성하는 기존의 방법은 manually하게 annotation이 필요한 과정이 많음 따라서 이를 개선하기 위해 on-board sensor (surrounding camera + lidar)를 이용해 vectorized local semantic map을 생성하는 framework 제안 Ego vehicle의 정확한 pose를 추정하는 것은 non-linear least-square 문제임을 지적 Methodology Image encoder : Surrounding image에서 ..
[HDMap] HDMap 밴치마크 데이터셋 정리 - nuScenes, Argoverse..
·
Autonomous Driving 🚙/HDmap
HDMap benchmark datasets usages HDMapGen: A Hierarchical Graph Generative Model of High Definition Maps(CVPR'21) Argoverse Miami(204km의 차선)와 Pittsburg(86km의 차선)에서 촬영된 map 여기서 12000개의 map을 FOV 200m * 200m 로 랜덤샘플링 In-house dataset (WAYMO) San Francisco에서 촬영된 6000개의 map (FOV 120m * 120m)에 evaluation HDMapNet: An Online HD Map Construction and Evaluation Framework(IROS'22) nuScenes In-house dataset ..
[Generation] OASIS(You Only Need Adversarial Supervision for Semantic Image Synthesis) 논문 리뷰
·
Computer Vision💖/Generative model
Title You Only Need Adversarial Supervision for Semantic Image Synthesis (ICLR'21) Pix2pixHD의 후속 논문 중 하나로, diversity를 위한 noise를 주는 방식이 pix2pixHD 보다 괜찮을 것이라고 생각해 선택 Diversity와 perceptual loss의 한계를 강조한 paper 본 포스팅에서는 Multi-modal synthesis를 어떻게 하는지에 집중하려고 한다. Motivation 기존의 Semantic Image Synthesis를 위한 GAN model들은 VGG-based perceptual loss에 지나치게 의존한다 VGG-based perceptual loss : synthetic과 real imag..
[Python] 디렉토리 내 특정 파일 삭제하기
·
Python
이 Python 카테고리에는 각종 잊기 싫은 잡기술만 써놓는 것 같지만.. 기분탓이다 ! Python으로 특정 파일명을 가진 파일을 한번에 삭제할 수 있는 아주 이득인 방법을 알아냈다. 바로 다음과 같이 실행하면 된다. "특정문자" 안에는 삭제하고 싶은 파일들에 공통으로 들어간 특정 문자를 넣어주면 된다! import glob import os [os.remove(f) for f in glob.glob('폴더 경로/*특정문자*')]
[Python] 디버거 pdb 사용법 - 이 좋은걸 지금 알았다니..
·
Python
아주 복잡한 딥러닝 코드를 보다보면.. 디버깅 해야할 때가 한둘이 아니다! 특히 모델 특정 부분의 레이어의 차원이나, 무엇이 input으로 들어가는지 정확하게 파악하기 위해서는 디버깅이 필수적이다. 과거의 나는.. 이를 위해 주피터로 모든 config 파일과 dataloader부터 차례로 써내려가며 똑같은 환경을 만들어주기 위해 노력했으나... 이는 너무 불편할 수 있다. 따라서 이럴 때 python 전용 디버거 pdb를 사용하면 아주 간편하다! 사용법을 간단히 알아보자! # pdb 사용법 사실 구글링을 해보면 약 두가지의 사용법이 나오지만, 딥러닝 모델을 디버깅할 때는 특정 부분의 변수가 필요한 경우가 많으므로 하나의 유용한 방법만 공유하겠다. 내가 모델 내에서 디버깅하고 싶은 부분 아래에 다음과 같이..
[TIL] 이젠 진짜 공부하자 Git 명령어 (commit, push, pull ..)
·
Achieved 👩🏻/TIL
매일 미루고 있던 Git 명령어 포스팅을 시작하려고 한다. 인턴을 하면서 브랜치를 새로 파서 내 로컬의 코드를 사내 git으로 commit 해야할 일이 있었는데 또 찐처럼 못하고 .. 헤맸기 때문... ! 가장 많이 참고한 곳은 이 곳이다! :3 # Git 영역 일단 개인 Local에 있는 코드를 업로드 하려면, git add를 통해 Staging 영역으로 보내야한다. 그리고 git commit을 통해 최종 코드를 Repository에 커밋한다! # 시작하기 일단 git commit을 시작하려면 저장소(Repository)를 생성해야한다. (1)내 로컬에 있는 폴더를 저장소로 생성하거나, (2)이미 git에 올라와있는 코드를 로컬에 git clone을 통해 받을 수도 있다. $ git init #(1) ..