일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 서버
- 디버그모드
- 지능형
- 머신러닝
- 데이터
- IMAGE
- 영상분석
- sw
- FLASK
- Object Detection
- Machine Learning
- Android
- tensorflow
- 안드로이드
- MySQL
- C언어
- Linux
- Python
- RapidCheck
- Deep Learning
- php
- Video
- 라즈베리파이
- 정리
- 가상환경
- 고급C
- detection
- tracking
- keras
- Raspberry
- Today
- Total
목록 개발 이야기/Machine Learning 이야기 (12)
건프의 소소한 개발이야기
안녕하세요, 건프입니다. 이번에는 최근에 제가 관심있게 연구하고 있는 Generative Adversarial Network 모델, 속칭 GAN 모델에 대해서 알아보고, 우리에게 친숙한 손글씨 데이터인 MNIST 를 이용해서, 간단히 Code Level 에서의 Implement 를 해보고자 합니다. GAN 모델을 간단하게 설명해보면,- 두개의 모델이 존재합니다.- 하나는 생성기(Generator) 이며, 또 하나는 분류기(Discriminator) 입니다.- 두 모델은 학습하면서 서로에게 영향을 미치면서 고도화 됩니다.- 생성기는 노이즈로부터, 어떠한 결과물을 만들어내는데, 이 결과물은 분류기에 의해서 평가됩니다.- 분류기는 생성기로부터 온 결과물과, 실제 데이터(Real Data) 를 구분해내는 역할을..
안녕하세요, 건프입니다. 손글씨 우편번호 데이터셋 MNIST 를 시작으로, Google 의 Tensorflow Open Source Project 에 힘입어, 모두가 한번쯤은 딥러닝(Deep Learning)을 해보는 시기가 되었는데요. 학교 수업이나 기타 머신러닝 강의들에서 흔히 볼 수 있는 Workflow 과 실제로 프로젝트를 하면서 느꼇던 Workflow 는 조금 큰 차이가 있었습니다.그간 SWMaestro 과정에서 Object Detection & Tracking 프로젝트를 진행하며 느꼈던 Deep Learning Program Development Workflow 를 제 기준으로 정리해보고자 합니다. 이 길을 함께 걸어가고 있을 누군가에게 도움이 될 수 있기를 바랍니다. 일반적으로 우리가 흔히 ..
안녕하세요, 건프입니다. AWS EC2 인스턴스의 종류는 다양하며, 다양한 만큼 그 용도도 다양합니다.EC2 인스턴스의 특징을 이해하고, 적정한 스펙의 적정한 가격으로 최고의 효율을 뽑아내는 능력이 AWS를 이용하는 개발자의 능력이라고 생각하는데요,이는 경험치가 확실히 도움이 됩니다. 그 중 우리 Machine Learning, Deep Learning 을 하는 사람들에게 반가운 유형이 있습니다. 바로 GPU 가속환경을 지원해주는 g2, p2 instance 들이죠. 사실 이들의 가격이 싼편은 아니기 때문에, 이것만 사용하면 딥러닝을 할 수 있다, 고 생각하지는 않습니다. 그만큼 처음 시작하는 사람들을 환경설정하는데 삽질을 많이 할 수 밖에 없으니까요. 다만, 이미 어느정도 환경설정에 익숙해진 사람의 입..
안녕하세요, 건프입니다. 첫번재로 하기 좋은 프로젝트는 Deep Learning 계의 Hello World 에 해당하는 MNIST 데이터 셋을 가지고 노는 것입니다.관련 컴피티션은 여기서 확인할 수 있습니다. https://www.kaggle.com/c/digit-recognizer데이터는 여기서 받을 수 있습니다. https://www.kaggle.com/c/digit-recognizer/data관련되어 연구된 소스는 여기서 확인 가능합니다. https://www.kaggle.com/c/digit-recognizer/kernels 다음은 제가 Keras 라는 Python 딥러닝용 라이브러리를 이용해서 Digit Recognizer 를 해결해 보았습니다.사용한 환경은 Python 3.5+, jupyter..
안녕하세요, 건프입니다. python 의 그래프를 그리는 유용한 툴인 Matplotlib 으로데이터를 다룰때 시각화를 하다보니 그래프 한개를 쓰는법은 잘 알겠는데, (http://matplotlib.org/users/pyplot_tutorial.html)그래프를 한번에 여러개를 그리는 방법에 대해서는 잘 모르겠더라구요. 그래서 한번 정리해서 메모해봅니다. 작업한 환경은 Python 3.5+, Jupyter notebook 위에서 작업했습니다. Matplotlib-Multiple Subplot In [1]: %matplotlib inline import matplotlib.pyplot as plt import warnings In [5]: def example_plot(ax): ax.plot([1,2]) ..
안녕하세요, 건프입니다. 데이터 처리를 하다보면 사용하기에 편리한 jupyter notebook 이라는 어플리케이션이 있습니다. 이를 사용하는데 여러가지 단축키(shortcut)들이 있는데요, 이를 잘 알아두면 마우스에 손을 올리지 않아도 노트북에서 작업이 가능하므로 엄청나게 효율적이랍니다. Command Mode (press Esc to enable)Enter : enter edit modeShift-Enter : run cell, select belowCtrl-Enter : run cellAlt-Enter : run cell, insert belowY : to codeM : to markdownR : to raw1 : to heading 12 : to heading 23 : to heading 34 ..
안녕하세요, 건프입니다. 데이터 처리를 위한 공부를 하는 분들이라면 사용하기에 유용한 툴인 jupyter notebook 이 있습니다. 다만 여기 위에서 작업하면 그 파일이 .ipynb 라는 특별한 포맷으로 저장이 되는데, 이 자체로 다른사람들과 주고받아도 되지만, 파이썬 스크립트로 만들고 싶을 수 있습니다. 그럴때 사용하는 방법입니다 콘솔에서 다음과 같이 작업합니다$ jupyter nbconvert --to script [YOUR_NOTEBOOK].ipynb 보이시나요? MyTitanicSh.py 파일이 생성이 되었습니다. :) 이렇게 파이썬파일로 변환이 가능합니다. 도움이 되었길 바랍니다 고맙습니다 :)
안녕하세요, 건프입니다. Python 언어 기반의 Macine Learning Platform 인 Tensorflow 를 공부하고 있었습니다. 전 포스팅에서는 상수선언과 변수선언, 랜덤 벡터 및 매트릭스 만드는 기본적인 방법과 Tensorflow 가 가지고 있는 Session() 의 존재 의미 등을 확인하였습니다. 이번에는 본격적으로 Linear Regression 방식을 이용한 예측함수 추출 구현에 앞서 알아야 할 몇가지를 짚어봅니다. 1. placeholder import tensorflow as tf x = tf.placeholder("float", [2, 3]) y = tf.ones([2, 3], "float") result = tf.add(x, y) with tf.Session() as sess..
안녕하세요, 건프입니다. 이번엔 Python 기반의 Machine Learning 언어 및 플랫폼인 "Tensorflow" 를 사용해봅니다. import tensorflow as tf import numpy as np a = tf.constant([1,2,3]) b = tf.constant([[10, 20, 30], [100, 200, 300]]) c = tf.add(a,b) with tf.Session() as sess: print sess.run(c) 우선 상수 tensor a와 b를 생성합니다 이후, a 와 b를 더하는 tensor 인 c 를 생성합니다.그리고 Session 을 열고 c를 run 합니다.그 결과를 print 하면 다음과 같은 결과가 나타납니다. a는 벡터이고 b는 행렬인데, 더하기 ..
안녕하세요, 건프입니다. 이번엔 ML 에서 Linear Regression 을 넘어서 Logistic Regression 에 대해서 익혀봅니다. Linear 의 기법으로 접근하는 것은, 대상을 연속하는 선의 관점으로 바라보는 것이고,Logistic 은 문자 그대로, 1 또는 0, 불 대수 논리로 접근하는 것을 의미합니다. 대표적인 사용법이 시험에 대한 "합격/불합격" 을 판단하는 함수를 만들 수 있겠네요. 1. 데이터를 로드하고, 데이터를 Feature 와 Result 로 구분하는 작업이 필요합니다.첫번째 열은 시험1 의 점수두번째 열은 시험2의 점수세번째 열은 합격과 불합격을 각각 1, 0 으로 나눠놓은 데이터 입니다. 2. 데이터를 나눴으니, 그래프를 그려봅시다.그래프를 그리기 위해서는, y 데이터가..