(해당 포스트는 "Head First Go"에 대한 서평으로, 해당 책은 한빛미디어로부터 제공받았음을 알려드립니다.) 현업에서도 데이터 분석이랑 시각화 관련 작업을 하다보니, R과 Python, 어쩌다가 C로 업무를 하게 되는데, 최근 트렌드 중에 "Go" 라는 언어가 많이 나오고 있는 것 같았다. 그래서 언젠가는 어떤 포인트로든 내가 하는 업무에 Go 를 접목시켜서 좀 배워볼 기회를 가지면 좋겠다 싶었는데, 마침 책으로써 미리 다뤄볼 기회가 생겨서, 이에 대한 글을 좀 남겨보고자 한다. Go는 2009년, Google의 Rob Griesemer와 Rob Pike, Ken Thompson이 만든 functional language이다. 원래의 목적은 google 내부에서 많이 다뤄지는 network기반의..
(해당 포스트는 "이것이 데이터 분석이다 with 파이썬"에 대한 서평으로, 해당 책은 한빛미디어로부터 제공받았음을 알려드립니다.) 요즘들어서 데이터를 가지고 하는 일들이 많아졌다. 소위 "빅데이터"의 시대인만큼 어마어마하게 수집된 데이터들 사이에서 남들이 발견하지 못한 insight를 찾고자 하는 사람들도 많아지고, 수요도 늘었다. 물론 이 insight를 부여하는 것을 사람에 따라서 다르게 수행하고 있다. 어떤 사람은 데이터들 사이에서 특징을 잘 추출할 수 있도록 정리해주는 일을 할 수도 있다. 이해당사자들에게 데이터가 가진 의미를 잘 설득할 수 있도록 시각화를 하는 일도 있고, 아마 요새 가장 핫한 일이겠지만, 이런 데이터에 머신러닝이나 딥러닝 같은 인공지능을 적용해서 미래의 일을 예측하거나, 최적..
보통 딥러닝에서 Model의 size를 줄이거나 동작 속도를 향상시키기 위해서 수행하는 Optimization 기법으로 크게 3가지 방법을 드는데, accuracy 측면에서 약간 손해보면서 Model Size를 줄이는 Quantization, training시 필요한 metadata나 Operation을 안쓰게끔 하는 Freezing, 그리고 Layer의 복잡성을 줄이기 위해서 여러 Operation을 하나의 Operation으로 바꾸는 Fusion 등이 있다. Quantization Quantization은 Model을 구성하는 weight이나 bias들이 과연 몇 bit으로 표현하느냐와 연관된 내용이다. 물론 정확성 측면에서는 각 weight와 bias들이 소수점 자리까지 정확히 update하고 계산..
개인 기록 유지 차원에서 정리해봄 Slack은 협업하는 Task내에서 의사소통으로 많이 쓰이는 수단이다. 단순히 유저별 message만 주고 받을 수 있는게 아니라, file upload같은 것도 되고, 더 좋은 것은 Custom Application을 channel내에 설치함으로써 업무내에서 확장할 수 있는 영역이 넓다는 것이다. 실제 사례로 이렇게 사용할 수 있다. git으로 file upload시 CI내에서 자동으로 전체 소스를 다운받아 빌드후 테스트 결과를 channel에 알려주는 용도 업무용 calendar 및 알림 Event API를 활용한 자동화 구현 일단 내가 사용하려던 용도는 실험이 원격으로 진행되는지라, 원격에서 data를 수집한 후, 수집된 data의 summary를 slack에 올려..
팁이라고 하기도 그런데 기억차원에서 남긴다. 데이터가 서버한곳에 모아져 있을 경우, 거기에 저장되어 있는 데이터를 처리하고 싶은 경우가 있다. 보통 가장 쉽게 할 수 있는 방법은 아래와 같이 서버의 데이터를 로컬PC로 다운로드한다. (혹은) Jupyter server가 실행된 PC상으로 업로드를 해서 처리한다. 일텐데, 굳이 이런 다운로드/업로드 과정을 생략하려면, python의 requests library를 사용해서 url로 직접 접속할 수 있게 할 수 있다. 보통은 github같이 공개된 곳에 올리면 해당 dataset의 url에 requests.get를 하고 그 데이터의 text를 pd.read_csv()등을 통해서 처리할 수 있다. 예시는 아래와 같다. import pandas as pd imp..
보통 computer vision에 활용되는 model은 수행 task에 따라서 크게 3가지 형태로 나눠볼 수 있다. 이미지를 분류하는 Classification, 이미지를 인식하는 Detection, 그리고 이미지를 따오는 Segmentation이다. Classification은 말 그대로 이미지나 이미지내 특정 object에 대한 class를 결정하는 것이다. 이에 대한 결과는 참/거짓 과 같은 2진으로 나올 수도 있지만, class가 여러 개라면 그 class의 종류만큼 나올 수 있다. (참고로 일반적으로 많이 사용되는 ImageNet Dataset은 약 20000여개의 class로 구성되어 있다고 한다.) 보통은 예측된 class에 대한 확률값으로 표기되어, 사람이 딱 봤을 때 가장 높은 확률을 ..
일반적으로 pre-trained model이란 말그대로 training을 끝낸 이후에 산출물로 나온 모델을 말한다. 보통 training을 할 때 가장 큰 문제가 데이터의 특성을 이해하기 위해서 데이터 자체도 많이 모아야 할 뿐더러, 이에 필요한 비용이나 시간적인 문제가 발생하는데, pre-trained model을 사용하면 이런 문제를 피할 수 있다. Pre-Trained Model은 Intermediate Representation (IR) format으로 구성되어 있고, 보통 xml같은 markup language나 binary 형태로 이뤄져 있다. 그래서 이걸 Inference Engine, 간단하게 말해 학습된 모델로부터 결과를 얻어내는 영역에 넣어주면 우리도 pre-trained model을 ..
(해당 포스트는 "Generative Deep Learning"에 대한 서평으로, 해당 책은 한빛미디어로부터 제공받았음을 알려드립니다.) 혹시 인공지능이 적용된 예시중에 이런 그림을 본적 있는지 모르겠다. 위에 소개된 기술은 CycleGAN을 활용한 Style Transfer라는 기술로, 기존의 유명한 명화들을 학습한 모델을 바탕으로 실제 사진을 넣었을 때 해당 화풍을 적용한 것처럼 변형시켜준다. 사실 인공지능이 미래의 데이터를 예측하고, 이미지를 분류하는 예제만 봐왔던 사람들한테는 이렇게 직관적으로 결과가 나타나고, 시각적으로도 딱 보여주기 좋았기에 사람들에 전달하는 의미가 매우 컸었다. 이밖에도 MuseGAN이나 World Model과 같이, 이미지 생성에만 한정짓지 않고, 새로운 음악도 만들어내기도..
이전 포스트에서도 계속 언급했다시피, 딥러닝 모델을 모바일이나 임베디드 환경에서 그대로 돌리기 어려운 이유는 일반 PC와 달리 메모리나 성능, 저장공간 등의 제한이 있기 때문이다. 이 때문에 해당 모델을 어떻게 최적화(Optimization)하느냐가 임베디드 환경상에서도 최적의 성능을 낼지 여부를 결정하는 요소가 된다. Tensorflow Lite도 결국은 Model deploy시 이 최적화를 해주는 기능이 포함되어 있는 것인데, 이 때 Quantization이 적용된다.치ㅑ Quantization은 간단히 말해서 Neural Network의 내부 구성이나 표현되는 형식을 줄이는 과정을 말한다. 예를 들어서 현재 구성된 Neural Network의 weight이나 activation output이 32b..
며칠전에 Tensorflow Lite 관련해서 Google 쪽이랑 미팅을 했다. 우리 회사도 MCU를 많이 쓰다보니까 MCU를 타겟팅한 Tensorflow Lite가 올라가면 좋겠지만, 실제 현업에서 적용하기에는 고려할 사항이 많다. 아무래도 optimization에 초점을 맞춘 framework다 보니, 모델 사이즈 측면도 있고, 과연 Tensorflow Lite를 지원하게끔 MCU compiler가 기능을 지원하냐 그런 문제도 있고, 아직까지는 갈길이 좀 먼거 같다. 그래도 그쪽 엔지니어가 이런거 많이좀 써보고 미리 경험해보라면서 EVB 하나를 줬었는데, 보니까 Sparkfun Edge였다. 아마 짐작하기로는 Google이 ARM Cortex-M계열 MCU에도 올릴 수 있다는 것을 보여주기 위해서 출..
- Total
- Today
- Yesterday
- TensorFlow Lite
- Distribution
- Kinect for windows
- Kinect
- 강화학습
- 딥러닝
- Kinect SDK
- RL
- Off-policy
- Python
- dynamic programming
- processing
- 파이썬
- ColorStream
- reward
- DepthStream
- Windows Phone 7
- Offline RL
- Expression Blend 4
- Policy Gradient
- Gan
- End-To-End
- 한빛미디어
- windows 8
- arduino
- bias
- PowerPoint
- Variance
- SketchFlow
- Pipeline
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |