샘플 5

머신러닝 모델 개발 삽질기

머신러닝 모델 개발 삽질 경험기 조대협 (http://bcho.tistory.com) 딥러닝을 공부하고 CNN 모델을 기반으로 무언가를 만들어보겠다는 생각에, 해외 유명 연예인 얼굴 사진을 가져다가 분류하는 얼굴 인식 모델을 만들어 보기로 하였다.아직도 진행중이지만, 많은 시행 착오를 겪었는데 같은 시행 착오를 겪지 않고 경험을 공유하기 위해서 겪었던 시행 착오들을 정리해 본다.학습 데이타 확보 및 분류먼저 학습용 데이타를 수집 하는 것이 가장 문제 였다. 인터넷에서 사진을 모아서 학습 데이타로 사용해도 되겠지만, 아무래도 저작권 및 초상권 문제가 있고, 일일이 사진을 하나씩 받아서 수집하거나 또는 별도의 수집기를 만드는 것도 부담이 되었다.그래서 찾은 것이 pubfig라는 셀럽 얼굴 데이타인데 http..

구글 클라우드의 대용량 분산 큐 서비스인 Pub/Sub 소개 #2-node.js 샘플

구글 클라우드의 대용량 분산 큐 서비스인 Pub/Sub 소개 #2 node.js를 통하여 메세지를 보내고 받기 조대협 (http://bcho.tistory.com) node.js에서 메세지 보내고 받기 이번 글에서는 node.js를 이용하여 실제로 pub/sub에 메세지를 보내고 받도록 해보자 키 파일 준비 하기Pub/Sub에 접속하기 위해서는 보안 인증을 위해서 키 파일이 필요하다.키 파일은 구글 클라우드 콘솔에서, API manager 메뉴로 들어가서 Credential 부분에서 Create Credential을 선택하면 아래와 같은 화면이 나온다.다음으로, 메뉴에서 Service account key를 선택하여 키를 생성한다. 키가 생성이 되면 json 파일로 다운로드가 된다.여기서는 편의상 키 파..

빠르게 훝어 보는 node.js - redis 사용하기

node.js에서 Redis 사용하기 조대협 (http://bcho.tistory.com) Redis는 NoSQL 데이타 베이스의 한 종류로, mongoDB 처럼 전체 데이타를 영구히 저장하기 보다는 캐쉬처럼 휘발성이나 임시성 데이타를 저장하는데 많이 사용된다. 디스크에 데이타를 주기적으로 저장하기는 하지만, 이 기능은 백업이나 복구용으로 주로 사용할뿐 데이타는 모두 메모리에 저장되기 때문에, 빠른 접근 속도를 자랑한다. 이 이유 때문에 근래에는 memcached 다음의 캐쉬 솔루션으로 널리 사용되고 있는데, 간단하게 키-밸류 (Key-Value)형태의 데이타 저장뿐만 아니라, 다양한 데이타 타입을 지원하기 때문에 응용도가 높고, node.js 호환 모듈이 잘 지원되서 node.js와 궁합이 좋다. 여러..

빠르게 훝어 보는 node.js - monk 모듈을 이용한 mongoDB 연결

monk 모듈을 이용한 mongoDB 연결 조대협 (http://bcho.tistory.com) mongoDB 기반의 개발을 하기 위해서 mongoDB를 설치한다. https://www.mongodb.org/ 에서 OS에 맞는 설치 파일을 다운로드 받아서 설치한다.설치가 된 디렉토리에 들어가서 설치디렉토리 아래 ‘./data’ 라는 디렉토리를 만든다. 이 디렉토리는 mongoDB의 데이타가 저장될 디렉토리이다. mongoDB를 구동해보자. % ./bin/mongod --dbpath ./data Figure 1 mongoDB 구동화면 구동이 끝났으면 mongoDB에 접속할 클라이언트가 필요하다. DB에 접속해서 데이타를 보고 쿼리를 수행할 수 있는 클라이언트가 필요한데, 여러 도구가 있지만 많이 사용되는 ..

안드로이드 채팅 UI 만들기 #2 - 나인패치 이미지를 이용한 채팅 버블

안드로이드 채팅 UI 만들기 #2 나인패치 이미지를 이용한 채팅 버블 조대협 (http://bcho.tistory.com) 지난 글에서는 ListView를 이용하여 스크롤이 가능한 텍스트 기반의 간단한 채팅창을 만들어보았다.이번글에는 채팅 메세지에 이미지로 채팅 버블을 입히는 방법을 알아보도록 한다. 채팅 버블 이미지를 입히는 방법이나 원리는 간단한데, 채팅 메세지를 출력하는 TextView에 백그라운드이미지를 입혀서 출력하면 된다. 그런데 여기서 문제가 생기는데, 채팅 메세지 버블의 크기는 메세지의 글자수에 따라 가변적으로 변경되기 때문에, 일반적인 이미지를 백그라운드로 넣어서 가로로 늘이거나 줄이게 되면 채팅창이 이상하게 가로로 늘어날 수 가 있다.. (아래 그림에서 가로로 늘렸을때 말꼬리 부분 삼각..