전체 글

전체 글

    텐서플로우, 케라스로 크롬 공룡게임 AI 만들기 #3 - 데이터 학습 및 모델 만들기

    2019/01/30 - [프로그래밍/딥러닝] - 텐서플로우, 케라스로 크롬 공룡게임 AI 만들기 #2 - 데이터 만들기 이제는 딥러닝의 핵심인 학습과 모델이다. 텐서플로우를 백엔드로 하는 케라스를 이용해 학습 및 모델을 만들었으며 인공신경망은 3개의 relu 은닉층을 가진다. train.py from keras.models import Sequential from keras.layers import Dense from keras.callbacks import ModelCheckpoint, EarlyStopping import pandas as pd import numpy import tensorflow as tf import matplotlib.pyplot as plt seed = 0 numpy.rand..

    텐서플로우, 케라스로 크롬 공룡게임 AI 만들기 #2 - 데이터 만들기

    2019/01/26 - [프로그래밍/딥러닝] - 텐서플로우, 케라스로 크롬 공룡게임 AI 만들기 #1 - 템플릿 매칭 이전 글에 이어서 이번에는 텐서플로우로 학습할 데이터를 생성하는 과정을 소개한다. make_data.py import numpy as np from PIL import ImageGrab import cv2 import cv2 as cv import keyboard template1 = cv.imread('images/cactus1.png', 0) template2 = cv.imread('images/cactus2.png', 0) template3 = cv.imread('images/bird1.png', 0) template4 = cv.imread('images/bird2.png', 0) ..

    텐서플로우, 케라스로 크롬 공룡게임 AI 만들기 #1 - 템플릿 매칭

    최근 딥러닝을 공부하면서 가장 처음 만든 모델을 공유하고자 한다. 바로 인터넷 연결이 안될때 즐길수 있는 크롬 브라우저의 공룡게임을 머신러닝으로 학습시켜 제작한 AI이다. 전에 제작한 2018/03/02 - [아두이노/프로젝트] - 아두이노 크롬 공룡게임 자동 플레이 의 AI 버전이라고 생각하면 편하다. 이미 모델은 완성되었지만 3단계 정도로 나누어 개발과정을 소개하고자 한다. 만약 완성된 코드가 궁금하다면 필자의 깃허브 링크 https://github.com/Hydragon516/Deep-Learning-Google-Chrome-Dinosaur-Game 에 전체 코드들과 모델 데이터, 실행방법 등을 확인할 수 있다. (필자의 딥러닝에 대한 지식은 "모두의 딥러닝"이라는 좋은 입문서의 내용이 전부라서 초..

    윈도우 환경에서 YOLO로 실시간 객체탐지

    YOLO는 you only look once 의 줄임말로 딥러닝에 관심이 있다면 한번쯤 들어봤을 법한 강력한 객체 인식 알고리즘이다. https://pjreddie.com/darknet/yolo/ 개발자의 홈페이지에 리눅스 환경에서 설치와 실행하는 방법이 자세히 나와있다. 필자는 우분투가 설치된 컴퓨터가 있지만 윈도우 환경에서 실행해보고자 한다. 방법은 크게 2가지가 있는데 만약 C언어로 개발할 계획이면 visual studio에서 YOLO를 빌드하는 방법이 있고 (YOLO는 C를 기본으로 개발됬다.), 파이썬을 더 선호한다면 파이썬의 강력한 딥러닝 툴인 텐서플로우를 이용하는 방법이 있다. 여기서는 후자의 방법을 소개한다. YOLO를 실행하는 환경을 개발자는 darknet 이라고 명명했는데, 어떤 고마운..

    텐서플로우와 케라스로 딥러닝 환경 구축하기

    최근 딥러닝에 관심을 가지게 되면서 관련된 책을 구입해 독학해보는 중이다. 이 책이 딥러닝을 처음 공부하기에는 최고의 책이 아닌가 싶다. 파이썬, 텐서플로우, 케라스 조합으로 딥러닝의 기초부터 자세하고 쉽게 설명해 마음이 든다. (다만 책에 오류와 오타가 좀 있는데 한번 문의해볼 생각이다.) 그래서 이 참에 위 책의 내용을 토대로 배운 딥러닝 개발환경을 구축하는 방법을 공유하고자 한다. 우선 필자의 경우는 노트북에 외장 그래픽 카드가 장착되어 있으므로 GPU를 사용하는 방식으로 구축하고자 한다. 만약 본인이 GPU가 없다면 아래 내용의 3번부터 시작하면 된다. 1. CUDA 설치 GPU의 연산을 효율적으로 도와주는 CUDA는 아래 링크에서 다운이 가능하다. https://developer.nvidia.c..

    가성비 블루투스 이어폰 QCY-T1 구입

    사실 구매한지는 좀 됬는데 이제야 후기를 올린다.최근 국내에서 인기있어진 QCY-T1이라는 블루투스 이어폰을 알리익스프레스에서 약 18달러에 구입해 사용해봤다. 확실히 국내 유명 IT 리뷰어들이 극찬한것 처럼 가성비는 매우 뛰어난 것 같다.필자가 막귀라 음질에 대해서는 평가하기 어렵지만 그래도 장단점을 나열해보면 아래와 같다. 장점 : 밀착력이 매우 뛰어나 외부소음이 거의 안들린다, 가볍고 배터리도 매우 오래가는 편, 케이스에 뚜껑이 없어서 오히려 편하다. 등등단점 : 물리식 버튼, 케이스로 충전중에 케이스 배터리가 먼저 방전되면 케이스 안에서도 이어폰이 페어링을 시도한다, 아주 가끔 왼쪽의 페어링 불량 등등

    아두이노 다채널 미디 플레이어 제작 #5 - PCB 발주 및 완성

    사실 좀더 일찍 완성할수도 있었지만 이제서야 완성하게 됬다. 이번에는 좀 특이하게 원형으로 PCB를 제작해 봤는데 생각보다 잘 나와준것 같다. 오랜만에 영상을 편집해 업로드 했다. 이번 영상은 영어로 제작했는데, 최근 외국 자작 포럼등에 관심이 생겨서 그곳에 프로젝트를 공유해보고자 영어로 만들어봤다. (사실 영어실력은 좋지 않은 편이다. 그래도 한번쯤 도전해보고 싶었다.) 영문 글은 https://www.hackster.io/hydragon516/arduino-5-channel-midi-player-fdf335 에서도 확인이 가능하다. 관련글2018/02/15 - [아두이노/기초] - 미디파일을 tone()으로 변환하기 [아두이노]2018/02/16 - [아두이노/프로젝트] - 아두이노 3채널 미디 오케..

    USB to TTL 변환기가 인식되지 않을때 해결법

    아두이노 프로미니는 자체적인 시리얼 변환기가 없기 때문에 아래와 같은 USB to TTL 변환기가 있어야 개발이 가능하다. 이러한 변환기는 드라이버가 있어야 컴퓨터에서 정상적으로 인식하는데, 드라이버의 종류는 변환기에 장착된 칩셋에 따라 달라진다. 그런데 저렴한 제품의 경우 (특히 알리에서 구매했을 경우) 이 칩셋 명이 보이지 않는데, 찾아보니 위와같은 모양의 변환기를 가졌을 경우 PL2303이라는 드라이버가 필요하다. 그런데 구글에서 해당 드라이버를 검색해 설치한 뒤 컴퓨터에 꼽아도 아래와 같이 제대로 인식되지 않았다. 구글링을 좀 해보니 해결법이 나왔다. 우선 아래 링크에서 드라이버를 다운받는다. https://drive.google.com/open?id=11455hFdCaNENKdNZ-9n6bVoH..

    Blynk와 아두이노에서 미세먼지센서 사용하기

    더 정확한 센서를 사용하는 방법은 아래 글을 참고하자 https://diy-project.tistory.com/145 아두이노 + PMS5003 센서로 미세먼지 측정하기 비교적 저렴하고 성능이 좋은 미세먼지 센서는 PMSX003 (PMS5003, PMS7003)가 있다. 샤오미 공기청정기 역시 동일한 센서를 사용한다고 알고 있는데 1~2만원대의 가격으로 꽤 준수한 측정 성능을 보여준 diy-project.tistory.com 이전글 2018/12/26 - [IOT 프로젝트] - Blynk와 아두이노로 온습도 표시하기와 이어지는 내용이다. 미세먼지 센서중 미세먼지 센서중 GP2Y1010AU 센서는 가격이 매우 저렴하고 사용법이 간단해 아두이노에서 자주 사용되는 센서중 하나이다. 필자의 경우 알리익스프레스에..

    Blynk와 아두이노로 온습도 표시하기

    지금까지 Blynk를 사용하면 Wemos D1과 같은 esp8266 계열의 보드를 반드시 사용했었다. 이러한 보드들은 자체적으로 WiFi칩이 내장되어있어 편리하지만 아두이노에 비해 사용가능한 디지털과 아날로그 핀의 개수가 현저히 적다는 것이 문제이다. 그래서 이번에는 아두이노를 그대로 사용하고 esp 01 모듈을 WiFi 쉴드처럼 이용하여 Blynk통신을 해볼 생각이다. esp 01의 핀 배치는 위와 같다. 이 모듈을 아두이노에서 사용하기 위해서는 팜웨어를 업데이트 해야하는데 아래 글을 참고했다. http://deneb21.tistory.com/343 팜웨어가 업데이트 되었다면 DHT22 온습도 모듈과 esp 01, 아두이노를 아래와 같이 연결한다. 아두이노 esp 01 DHT22 3.3V 8 5V + ..

# 테스트용