본문 바로가기

분류 전체보기311

리눅스 휴지통 경로 리눅스에서는 파일을 삭제하면 휴지통으로 그 파일을 옮깁니다. 예를들어, 쥬피터 노트북을 사용하다가, 파일을 실수로 삭제하였다..면? 하지만 당황할 것 없이 cd /home/사용자/.local/share/Trash/ 에가서 mv filename dst_path 해주시면 되겠습니다. 2019. 8. 14.
16. 비트마스크 (bitmask) 장점 - 더 빠른 수행 시간을 보장합니다. - 더 간결한 코드를 제공합니다. - 메모리 사용량을 줄일 수 있습니다. 즉, 더 많은 데이터를 미리 계산해서 저장해 둘 수 있습니다. 비트마스크를 자료 구조로 이용하는 방법 및 각종 트랙을 소개합니다. 용어정리 8bit를 예로들자면, 최솟값은 0이고, 최댓값은 1111 1111(2) = 255입니다. 20을 나타내는 비트를 최하위 비트(LSB, Least Significant Bit), 2N-1을 나타내는 비트를 최상위 비트(MSB, Most Significant, Bit) 라고 합니다. 어떤 비트의 위치가 1이면 해당 비트가 "켜져 있다"고 하고, 0이면 "꺼져 있다"라고 합니다. 연산 코드 두 정수 a, b를 비트 별로 AND 연산 a & b OR a XO.. 2019. 8. 12.
Grad-CAM(Gradient-weighted Class Activation Mapping), 코드포함 Visual Explanations from Deep Networks via Gradient-based Localization Ramprasaath et al, Virginia Tech, Georgia Institute of Technology, 2017 Abstract CAM(Class Activation Mapping)은 CNN 기반 네트워크에서 많은 클래스를 결정할 때, 시각적인 설명을 제공합니다. 여기서 말하는 Grad-CAM(Gradient-weighted CAM)은 CAM을 구할 때, "예측 이미지안의 중요한 부분을 강조하는 대략적인 지역 맵을 생산하기위한 마지막 컨볼루션 층으로 흘러가는", "타겟 클래스(캡션, 마스크도 가능)에 대한" gradient를 이용합니다. 따라서 적용할 수 있는 범.. 2019. 8. 8.
Faster R-CNN, 2016 Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun Abstract 이 모델에서는 full 이미지 convolutional feature와 detection 네트워크를 공유하는 Region Proposal Network (RPN)를 도입합니다. 즉, RPN은 fully convolutional network이고, 객체의 bound와 점수를 동시에 예측하게 됩니다. Faster R-CNN은 RPN과 Fast R-CNN을 하나의 네트워크로 합쳤습니다. 또한 Attention 메카니즘을 적용함으로써, RPN은 어디를 보아야 할지 알려주는 통합된 네트워크입니다. 그 결과 ILSVRC과 COCO 2015 competition에서 높은 정확도로 우승을 하게 되었습니다. .. 2019. 8. 6.
Cascade R-CNN, Cai et al, 2018 0. Abstract 객체 탐색(object detection)에서, IoU(intersection over union) 임계값(thresold)는 양수나 음수로 정의되어야 합니다. 하지만, 디텍터 성능은 IoU thresold가 증가함에 따라 감소하는 양상을 보입니다. 두 가지 주요 원인이 있는데, 1) 지수적으로 양의 샘플(positive sample)이 사라지기 때문에 나타나는, 훈련 중에서의 과대적합(overfitting)현상입니다. 2) 디텍터가 최적이되는 IoU와 입력 가설 IoU 사이의 inference-time mismatch가 생기기 때문입니다. 다단계(multi-stage) 객체 탐색 구조인 Cascade R-CNN은 위 두 문제를 다룹니다. Cascade R-CNN은 순차적으로 clo.. 2019. 8. 4.
[ML] K-Fold Cross Validation (K겹 교차검증) 데이터 부족 데이터 수가 부족한 상황에서는 검증집합(validation, test)을 따로 마련하기 힘든데, 이 때 교차검증(cross-validation)을 이용하면 효과적입니다. 훈련집합을 같은 크기로 나누어 k개의 그룹을 만든 후, 1개는 검증그룹, 나머지 k-1개는 훈련그룹으로 나누어서 그룹을 달리하며 k번 반복합니다. 여기서 k개의 성능을 얻게 되는데, 이들을 평균하여 검증 성능으로 취합니다. 오버피팅 하지만 이렇게 할 경우 훈련과정에서 검증데이터가 개입을 하므로, 과대적합(overfitting)이 일어났는지에 대한 예측을 하기가 어렵습니다. 그래서 사용하는 방법은, 앙상블(ensemble)입니다. 예측방법은 보통 두가지로 나뉘지만 (회귀, 분류), 여기서는 분류(classification)를 .. 2019. 8. 2.
[Classification] Cross entropy의 이해, 사용 방법(Categorical, Binary, Focal loss) 이 글에서는 여러 가지 클래스를 분류하는 Classification 문제에서, Cross entropy를 사용하는 방법와 원리를 알아봅니다. 1. Tasks 우선, 두가지 문제를 봅시다. 1-1) Multi-Class Classfication 각 샘플(이미지)은 클래스 C 중 하나로 분류될 수 있습니다. 해는 0번, 즉 [1 0 0] (원핫인코딩), 달은 1번, [0 1 0], 구름은 2번, [0 0 1] 으로 분류될 수 있다는 말입니다. CNN은 s(scores) 벡터를 출력하고, one hot 벡터인 타겟(ground truth) 벡터 t와 매칭이 되어 loss값을 계산할 것입니다. 즉, Multi-Class Classification은 여러 샘플(이미지)에서 C개의 클래스 중 하나의 클래스로 분류하.. 2019. 8. 1.
[버전관리] Ubuntu - Cuda - Cudnn 1. Ubuntu version check $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.2 LTS Release: 18.04 Codename: bionic 2. CUDA version check $ nvcc --version (혹은 nvcc -V) $ locate cuda | grep /cuda$ (경로 확인) 3. Cudnn version check $ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 4. Pytorch는 설치시 cudatoolkit을 제공한다. cudnn 까지 패키지로 묶어서 깔아준다. $ conda .. 2019. 7. 30.
[1931] 회의실배정 11 1 4 / 3 5 / 0 6 / 5 7 / 3 8 / 5 9 / 6 10 / 8 11 / 8 12 / 2 13 / 12 14 회의실을 사용할 수 있는 회의의 최대 수를 구하라. 위 예시의 답은 (1,4), (5,7), (8,11), (12,14) 입니다. '그리디'하게 생각한 방법 중 하나는, 시작 가능한 회의 중에서 '종료시간'이 가장 빠른 것을 그 다음 회의로 배정하는 것입니다. (1, 4) (5, 7) (8, 11) (12, 14) 기준을 '회의시간'이 가장 짧은 것으로 잡으면 오답이 나옵니다. (1, 4) (5, 7) (12, 14) 이렇게 끝나기 때문입니다. 1. 종료시간이 가장 빠른 것을 고릅니다. 2. 이전 회의의 종료시간보다 시작시간이 늦은 것들 중 종료시간이 가장 빠른 것을 고릅니다.. 2019. 7. 29.
[MMDetection] 논문 정리 및 모델 구현 Abstract MMDetection은, object detection과 instance segmentation을 다루는 유명하고 다양한 모델을 하나의 toolbox로 구현한 일종의 플랫폼이다. 많은 사람들이 사용하여, 기존 디텍션 모델을 다양한 분야에 응용하고, 새로운 모델을 만드는데 도움이 되었으면 한다고 한다. 소스 코드, pytorch로 작성되어 있다 https://github.com/open-mmlab/mmdetection 1. Introduction 주요 특징은 크게 네가지이다. 1) Modular design 모델이 모듈화 되어있어 사용자 제작이 간편하다. 2) Supported Framwork 독창적으로 여러 프레임워크를 지원한다. 2번 본문 참고 3) High efficiency 모든 b.. 2019. 7. 28.
728x90