전체 글

전체 글

    운영 체제 (Operating System) - 운영체제 구조

    1. 컴퓨터의 기원과 발전 기계적인 스위치를 이용하여 1bit 단위로 컴퓨터에 입력하던 Hand-operated system를 시작으로 1950년도 부터 컴퓨터는 급속도로 발전하였다. 이 과정에서 '효율성'과 '성능'을 끌어올리기 위한 다양한 시도가 있었는데, 과거의 성능 향상을 저지하는 이슈와 그 이슈를 해결한 방식에 대해서 알아보자. 2. Batch system(Automatic job sequence, Spooling) 주어진 job을 일괄 처리하는 형태이다. 즉, 결과를 받기 까지 User Interaction이 불가능하고, 다른 Job으로의 스위칭이 불가능한 형태이다. 이 시대때는 Punch card로 코딩하고, 그것을 기계가 읽어, 연산하는 방식이었는데, 이러한 기계적인 I/O 장치와 전기 장..

    운영 체제 (Operating System) - 개요

    1. 운영체제의 정의와 필요성 운영체제의 역할은 무엇일까? 운영체제는 Abstraction과 Policy를 제공하는 역할을 한다. Abstraction은 하드웨어를 손쉽게, 효율적으로 사용할 수 있는 '추상화'이다. 가령 복잡한 전기적 신호를 이용하는 CPU를 C와 같은 High-level language로 구현된 Process를 이용해 손쉽게 사용한다던지, 복잡한 Memory를 Address Space로 쉽게 관리하는 것이 이 Abstraction의 예시이다. 이 예시를 한번 자세히 살펴보자. 프로그램은 바이너리 형태로 작성된 명령어의 모음이다. 이 명령어의 모음이 HW에서 실행되어야 하는데, HW가 각 프로그램을 구분하고, 인식 및 실행하여 자원을 독립적으로 공유해주어야 한다. 이를 위해 Proces..

    동시성 제어 방식 (Concurrency control) : Lock-based protocols

    1. 동시성 제어 방식 (Concurrency control) : Lock-based protocols 이 방식을 제어 프로토콜 중 이 방식이 성능이 좋아서 가장 많이 쓴다 concurrent access를 제어하는 메카니즘으로, locking protocol에 맞는 가능한 스케쥴 중 일부분만 사용하게 제한하는 것이다. lock-based protocol에는 2가지 lock mode가 있는데, exclusive mode (X lock, write lock) , shared mode (S lock, read lock)이 있고, 다음과 같은 lock compatibility를 갖는다. 이 방식에서 Transaction은 lock에 대한 request가 수용되었을 때 진행된다(lock을 받고 진행됨). 또한 ..

    FairMOT : On the Fairness of Detection andRe-Identification in Multiple Object Tracking 논문 리뷰

    0. 개요 기존 object detection은 detection의 성능은 전반적으로 좋지만, 객체들이 응집되어 있는 프레임들을 갖는 비디오에서는 객체간의 switching이 빈번하게 일어난다고 한다. 이를 해결 하기 위해서 Redetection을 하는데, 기존에는 두가지 방식이 있다. 1. two-stage 2. one-stage 기존의 방식들에 대한 특징에 대해서 이야기 해보자면, two-stage는 각 task별로 학습하므로 성능은 괜찮지만, 순차적으로 진행되므로 속도가 느려져서 비디오엔 쓰기 힘들고 one-stage는 공유된 feature를 사용하므로 더 빠른데, 성능이 안나온다고 한다, 이 논문은 왜 one-stage방식이 안좋은지 그리고 이 안좋은 성능은 어디서 부터 기인된 것인지에 대해 분석..

    인공신경망(SOLOv2)의 data pipeline의 구성과 Resized model의 효과

    1. SOLOv2 data pipeline 1. 데이터 전처리 흐름 SOLOv2는 다음과 같은 과정을 거치면서 모델 입력을 준비한다. 이미지를 로드하고, Annotation을 로드하고, resize하고, flip하고, normalize하고, pad를 추가하고, format을 재설정 하고, 앞선 결과들을 수합하여 meta data로 재구성한 후, 이 결과를 모델로 흘려보낸다. mmdetection에서 이 과정을 config file로 쉽게 설정할 수 있다. SOLOv2의 config안에서 data pipeline부분을 한번 확인해보자. 이렇게 train_pipeline (test_pipeline)은 dictionary 객체들로 구성되어 있는데, 각 dictionary 객체는 데이터 전처리 과정에서 필요한 ..

    SOLOv2 Structured pruning (MMDetection, pytorch structured pruning)

    0. Intro 우리는 Rethinking the value of the pruning에서 pruning에 대한 많은 인사이트를 얻을 수 있었다. 앞으로 나올 내용들이 이에 기반한 내용이니 이하 논문이라고 표현하도록 하겠다. unstructured pruning은 weight의 숫자를 급격하게 줄일 순 있지만, 결과로 도출된 희소행렬이 하드웨어 혹은 특정 라이브러리의 도움 없이는 inference time과 메모리 자체에는 변화를 가져다 주지 못했음을 확인할 수 있었다. https://do-my-best.tistory.com/80 Network pruning 1. 서론 https://medium.com/may-i-lab/paper-review-rethinking-the-value-of-network-pr..