book.naver.com/bookdb/book_detail.nhn?bid=12327704 코딩 인터뷰 완전 분석 이 책의 저자는 구인 담당자가 아니라 소프트웨어 엔지니어다. 지원자로서도 면접관으로서도 코딩 면접을 겪어 본 적이 있기 때문에 지원자가 면접을 앞두고 무엇을 준비해야 하는지 잘 알고 book.naver.com (이제 취업 준비겸 코딩테스트를 위해서 "코딩 인터뷰 완전분석"을 읽기 시작했다.) -준비하기 1. 직접 풀도록 노력하라: 포기하지 말라! 그리고 문제를 풀 때는, 공간과 시간 효율에 대해서도 반드시 생각하길 바란다. 2. 코드를 종이에 적으라 3. 코드를 테스트하라: 물론 종이 위에서 말이다. 일반적인 경우뿐 아니라, 기본 조건, 오류 발생 조건 등을 전부 테스트하라는 뜻이다. 4. ..
Programmer
논문링크:research.fb.com/publications/deepface-closing-the-gap-to-human-level-performance-in-face-verification/ DeepFace: Closing the Gap to Human-Level Performance in Face Verification - Facebook Research In modern face recognition, the conventional pipeline consists of four stages: detect => align => represent => classify. We revisit both the alignment step and the representation step by employing..
1.원격 저장소 받아오기 원격 저장소? 인터넷이나 네트워크 어딘가에 있는 저장소 ex)github, gitlab Git 원격 저장소 받아오기 git clone ->기존의 git repository를 복사 원격 저장소 url로 받아오기 아래와 같이 2개의 옵션을 볼 수 있다. 여기서 clone with HTTPS옵션으로 Clone을 하게 된다. Git clone뒤에 clone버튼으로 확인한 원격저장소의 주소를 넣어준다. 원격 저장소 추가 원격 저장소는 아래의 명령어로 연결할 수 있다. 저장소 주소는 다음과 같이 구성 연결된 원격 저장소 원격 저장소 살펴보기 2.원격 저장소 동기화 저장소 갱신 pull :원격 저장소에서 데이터 가져오기+ 병합(Merge) Fetch : 원격 저장소에서 데이터 가져오기 저장소..
1. Git Branch Git Branch란? 독립적으로 어떤 작업을 진행하기 위한 개념으로 각각의 Branch는 다른 Branch의 영향을 받지 않음. Git Branch 종류 메인 Branch : 배포할 수 있는 수준의 안정적인 Branch 토픽 Branch : 기능 추가나 버그 수정과 같은 단위 작업을 위한 Branch Git Branch 생성 Branch는 아래의 명령어로 생성할 수 있다. ->like_feature은 branch의 이름 Git Branch전환(1) 현재의 Branch는 아래의 명령어를 통해 확인할 수 있다. Git Branch전환(2) Branch전환(이동을 의미하며 *표시가 이동한다)은 아래의 명령어를 통해 할 수 있다. Git Navigation checkout은 branc..
1. Git 파일 생성 저장소 생성 완료 후(git init), 새로운 파일 작업을 완료하였다. 이 파일을 저장소에 어떻게 반영할 수 있을까? 파일 영역의 라이프 사이클 : working directory->git add->staging area->git commit->repository 파일 상태의 라이프 사이클 새로운 파일 생성 먼저, comment.js(예를 들어)파일을 준비영역(staging area)으로 보내야 한다. git add명령어를 사용한다. git add commet.js 새로운 파일 생성(2) 한 번에 추가할 파일이 너무 많다면 현재 폴더를 대상으로 지정할수도 있다. git add . Staging 상태 확인 git status 명령어로 Staging area의 어떤 파일이 변경되었는..
1.가치 치기와 병합 여거가지 작업을 동시에 하는데 섞이면 안되는 상황이 있을 수 있다. 사용자는 일 단위, 기능 단위로 작업을 할수있기 때문에 가치를 만들어 main코드에서 독립성을 유지하는데 필요하다. 가지를 만들어 테스트를 진행한 후 가지를 병합을 통해 main코드에 반영한 후 main코드에서 배포할 수 있다. 2. 가볍고 빠르다. 로컬에서 진행된다. SVN : 중앙시스템에서 여러 개발자들이 접속하여 코드를 공유하기 때문에 항상 네트워크 필요->모든코드는 중앙시스템 git: 다른 사람과 코드를 공유할때만 중앙 서비스에 접속을 하면 되기 때문에 네트워크 속도에 관계없이 매우 빠르게 작업 진행->모든 코드는 각각 사용자들에게 있다. 3. 분산 작업 각각 개발자에게 코드가 있다. 통합 관리자가 있기 때문..
Git 초기 설정 1.사용자 정보 설정 저장소에 코드를 반영할 때 등록될 사용자 정보를 설정한다. 프로젝트 마다 다른 사용자 정보를 지정하고 싶으면 저장소 생성 후 --global 옵션을 빼고 실행해주면 된다. 2. 설정 정보 확인 아래의 명령을 실행하여 앞에서 설정한 내용을 확인해볼 수 있다. GIT 저장소 만들기 1) 기존 디렉토리를 git 저장소로 만들기 기존 프로젝트를 Git으로 관리하고 싶을 때, 프로젝트의 디렉토리로 이동해서 아래와 같은 명령을 실행한다. git init : 기존의 디렉토리를 git repository로 설정 이 명령은 .git이라는 하위 디렉토리를 만든다. 즉, 새로운 git 저장소가 만들어진다. git이 파일을 관리하게 하려면 저장소에 파일을 추가하고 커밋해야 한다. git..
논문 : http://openaccess.thecvf.com/content_cvpr_2016/html/He_Deep_Residual_Learning_CVPR_2016_paper.html Abstract Deeper neural network는 더 훈련시키기 어렵다. 우리는 이전의 사용되었던 것보다 실질적으로 더 깊은 네트워크의 훈련을 용이하게 하기 위한 residual learning framework를 제시한다. 계층 입력에 대한 learning residual 함수로 계층을 명시적으로 재구성한다. 우리는 이러한 residual network가 최적화하기 쉬우며 깊이가 상당히 높아져 정확도를 얻을 수 있음을 보여주는 포괄적인 경험적 증거를 제공한다. ImageNet dataset에서 우리는 VGG ne..
소개 YOLO는 You Only Look Once의 약자이다. 대략 R-CNN은 너무 느렸으며(5초), Fast R-CNN도 0.5프레임으로 느렸고, Faster R-CNN도 7프레임이 최대였다. 이때 YOLO가 등장하여 45프레임을 보여주었고 빠른 버전의 경우 155프레임을 기록하며 사람들을 놀라게 했다. R-CNN - Fast R-CNN - Faster R-CNN - YOLO는 대략 10배씩 속도차이가 난다. 게다가 성능도 FasterR-CNN에 비해 크게 떨어지지 않았다. 기존 방법과의 차이점 R-CNN 계열의 검출 네트워크들은 영상에서 오브젝트가 있을 것 같은 후보(ROI - Region If Interest : 관심영역)를 먼저 뽑는다. 후보로 뽑힌 ROI(영상의 작은 부분) 들은 분류기(Cla..
사전지식 1. SVM : support vector machine은 기계 학습의 분야 중 하나로 패턴 인식, 자료 분석을 위한 지도 학습 모델이며, 주로 분류와 회귀 분석을 위해 사용한다. 두 카테고리 중 어느 하나에 속한 데이터의 집합이 주어졌을 때, SVM 알고리즘은 주어진 데이터 집합을 바탕으로 하여 새로운 데이터가 어느 카테고리에 속할지 판단하는 비확률적 이진 선형 분류 모델을 만다. 출처: https://ko.wikipedia.org/wiki/%EC%84%9C%ED%8F%AC%ED%8A%B8_%EB%B2%A1%ED%84%B0_%EB%A8%B8%EC%8B%A0 2. Feature Descriptor 형상 기술자 : 유용한 정보를 추출하고 관계가 없는 정보를 버림으로써 이미지를 단순화하는 이미지 또..