본문 바로가기

전체 글

(1083)
object detection with yolo Object Detection 아는 척 하기 시작 1. Object Detection란? Object Detection == 물체 검출 즉, 카메라나 다른 센서를 이용하여 자동차, 사람, 동물, 물건 등을 검출. 추가로 이게 어떤 것을 검출 했는지 나타는 Classification(분류) 이란 단어를 사용 2. object detection Overview 3. Object Detection엔 이런 알고리즘이 쓰였어요 Nearest neighbor (NN): 학습 데이터셋을 저장한 후에, 예측 단계에서는 투입된 이미지와 가장 가까운 데이터의 레이블을 통해 예측 하는 방법 K-nearest neighbor (KNN) : NN은 하나의 레이어만 보고 판단한다. 많은 레이어를 보고 판단방법 Convolutio..
확률적 자료구조 결론!! 1. 이 값이 데이터에 없는지 알고 싶어!! == Bloom filter 2. 그룹별로 카운팅을 하고 싶어!! == count min sketch 3. 엄청 큰 데이터의 카운팅을 하고 싶어 == hyper log log 해당 영상을 정리 및 풀어서 쓴 글입니다. 영상만 봐도 이해하시기 좋습니다!! 해시 == 고유한 key를 만들고 저장하고 싶은 것!! == 검색을 n(1)로 끝내고 싶어!! 하지만 저장하는 공간을 최소화하면 충돌문제가 일어나고, 해시 함수의 연산(보통은 충돌을 없애기 위해 모듈러 함수에서 key값을 엄청나게 큰 소수로 정한다)에도 많은 시간이 들어간다. 충돌이다!! John smith 와 sandra dee가 같은 곳을 바라보고 있다 충돌은 곧 디스크접근을 했다는 것이고, 그건 ..
7. UBER // 쏘카 // lyft // 카카오택시 지리적으로 A TO B까지의 운반해야 하는 모든 서비스에 적용 가능하다. ( 배민 / 요기요 등) 여기에서는 우버를 예로 들었다. 1. 기능 요구 사항 승차 공유 시스템 택시 호출 예약 요청이 들어오면 가까운 차들에게 순서대로 승차 요청이 가며 그중 한 명이 요청을 받을 수 있다 예상 도착 시간을 알 수 있어야 한다 택시 트래킹 (사용 가능한 드라이버를 볼 수 있어야 한다) 예상 가격을 알 수 있어야 한다. 번외 기능 원하는 운전자를 선택할 수 있어야 한다 운전자마다 가격(팁)이 다를수 있다 탑승 날짜와 시간을 예약할수 있어야 한다. 2. 용량 추정 및 제약 3억 명의 고객과 100만 명의 일일 활성 고객, 500,000명의 일일 활성 운전자가 있다고 가정합니다. 하루 100만 라이드를 가정합니다. 모든..
pypy Python의 언어 구현 중 하나로, C로 짜인 기존의 CPython과 달리 Python으로 Python을 만드는 프로젝트이다. 이 프로젝트의 진짜 놀라운 점은 기존 CPython보다 전혀 느리지 않을뿐더러, 오히려 성능면에서 CPython을 능가하고 있다는 점이다. 1. 설치 $ apt install pypy 2. 사용 주피터에서는 그냥 상단에 %%pypy만 쓰면 된다. Just-In-Time (JIT) Compiler 이기 때문에 해당 단락만 pypy로 실행되기 때문이다. (다른 단락은 기존의 python이 실행된다) 그래서 각 단락마다 "import time"을 두번 했다 성능은? 9 배 차이.... 일반 커맨드에서 실행한다면 pypy로 실행하면 된다. $pypy ./test.py 499999999..
6. tinder tinder 틴더? 위치 기반 소셜 검색 애플리케이션 상대의 사진과 400자 미만의 간단한 소개를 읽고 마음에 들면 오른쪽으로 스와이프해 좋아요(Like)를, 그렇지 않으면 왼쪽으로 스와이프해 거절(nope)을 하는 직관적인 방식, 위로 올리면 Super Like. 양쪽 모두가 좋아요를 보내면 매치가 성사되며, 매칭 된 뒤에는 채팅이 가능 자신이 좋아요를 받은 숫자가 표시되고, 유료 결제를 하면 자신에게 좋아요를 보낸 대상을 볼 수 있다 소개 영상 1. 기능 요구 사항 유저는 자신의 정보를 추가하고 사진을 업로드하여 Tinder 프로필을 만들 수 있어야 한다. 유저는 지리적으로 가까운 지역에있는 다른 사용자의 추천을 볼 수 있어야 한다 유저는 다른 추천 사용자를 좋아 (오른쪽으로 스 와이프)하거나 싫어 ..
5. dropbox // google drive 1. 기능 요구 사항 File Upload, Update, Delete and Download File search File and folder sync File history (versioning) 예외상황들 File size limit 파일 권한 (수정 삭제) 동일 파일 수정에 따른 에러 핸들러 2. 추정 및 제약 사항 총 사용자 : ~ 10억 일일 활성 사용자 ~ 5천만 QPS : 하루 최대 5억 건 요청 (초당 6000건) 저장 용량 추정평균 파일 크기는 1MB이라 할 때 1MB * 100개 * 10억 = 10000PB 모든 사용자가 평균 100개의 파일을 가지고 있다고 가정 읽기 / 쓰기 비율 : 1 : 1 예상 트래픽 : 초당 6G 파일 쓰기 초당 6000건 * 1MB = 6GB 메모리 사용량..
cython : python to C Cython 은 CPython 확장 모듈을 생성하고 이를 이용하여 외부 함수 인터페이스와 실행 속도 향상과 외부 라이브러리의 연동을 보다 향상 시킬 수 있도록 고안된 컴파일 언어이다 Cython 은 pyx 확장명을 사용하고, 컴파일 과정을 통하여 파이썬에서 import 형태로 사용될 수 있다. 컴파일은 다음 setup.py 를 이용하여 컴파일할 수 있다 1. cython 설치!! $ pip install cython 2. 변환할 파이썬 코드를 pyx 확장자로 생성 1 2 3 4 # test_cython.pyx def ret_list(n): return [i for i in range(n)] cs 3. setup.py 파일 생성 1 2 3 4 5 # setup.py # -*- coding: utf-8 -*..
ERROR: Cannot install -r /requirements.txt because these package versions have conflicting dependencies. pip로 패키지 설치시 같은 패키지에서 서로 다른 버전을 "==" 로 명시 했을때 pip 매니져는 무엇을 설치 할지 몰라서 conflict 에러를 뱉고 멈추게 된다. 고치는 방법으로 1. 특정 버전을 명시하지 말고 러프하게 하거나 (">="나 아예 버전을 명시하지 않는다. ) 2. 디팬던시된 패키지를 한쪽에서 삭제하라고 권고 한다. 만일 위의 방법을 할수 없는 상황이였다. 나의 경우 설치를 해야 하는 서로 다른 두개의 사내 패키지가 이미 버전이 고정되어 있어서 수정이 불가능한 상태. 이럴때는 같은 패키지를 재설치하려 할때 무조건 상위 버전으로 설치하라고 명시해주면된다. --upgrade --no-deps --force-reinstall pip install --upgrade --no-deps --forc..