Deep Learning Flappy Bird

네, 이해합니다. 이제 딥러닝은 지겨울 수도 있습니다. 온통 알파고 이후 딥러닝, 머신러닝… 하지만 이 프로젝트는 어떨까요? Flappy Bird 게임을 딥러닝을 통해 풀어본 프로젝트가 깃헙에 공개되었습니다.

2016/03/17 Editor’s choice (340 ★)

yenchenlin1994/DeepLearningFlappyBird
_DeepLearningFlappyBird - Flappy Bird hack using Deep Reinforcement Learning (Deep Q-learning)._github.com

동영상

한번 감상해 보시죠

15분이면 저보다 잘하는군요. T.T

어떻게 만들었을까

  • Python 2.7
  • TensorFlow
  • pygame
  • OpenCV-Python

TensorFlow가 오픈된지 얼마 되지 않은 거 같은데, 이렇게 활용되는 것을 보면 한번 머신러닝 관련 프로젝트를 중점적으로 살펴봐야할 거 같습니다.

OpenCV를 통해 이미지를 파악하고 TensorFlow를 딥러닝으로 사용한다.

구조도는 다음과 같습니다.

심화를 위해서는

asrivat1/DeepLearningVideoGames
_Contribute to DeepLearningVideoGames development by creating an account on GitHub._github.com

에서 Deep Q Learning 알고리즘에 대해서 알아야 합니다. 조만간 이 부분에 대해서 공부를 해 보는것도 좋을 거 같습니다. 알파고도 블럭깨기부터 시작을 했다고 하니까, 도움이 될 거 같습니다. 능력자들이라면 저 프로젝트를 번역해 보는 것도 도움이 될거 같네요.

By Keen Dev on March 16, 2016.

Exported from Medium on May 31, 2017.

[React-Native] image 늘리기

hard to stretch

React Native 는 여러가지 새로운 개념들 (예를 들어 flex)를 많이 적용하는데, 이미지 width : 100% 같은 형태를 주려고 하면 생각보다 잘 되지 않는다.

이렇게 나오거나 지나치게 꽉 채워서 나오지만, 실제 어플리케이션을 짜려고 하면, width는 화면 사이즈에 맞춰 늘리고 height는 동일한 크기로 셋팅하고 싶을 때가 많다. 이럴 경우는 어쩌면 좋을까?

Dimension과 resizeMode를 적절히 활용

다음은 소스다.

var {height, width} = Dimensions.get('window');

이 부분에 주의 하자. Dimension은 기본적으로 React에 포함되어 있는 모듈이므로 사용하는데 무리가 없음.

이후 style 에 width는 지정한 width로 height는 개발자가 원하는 데로 줄 수 있다.

그리고 React Image Component 에는 resizeMode가 존재한다.

stretch모드로 두면 높이와 넓이를 따로 지정할 수 있는데, 기본적으로 Dimension 만 알아둬도 웹앱을 제작하는데에는 어려움이 없을 것으로 보인다.

이렇게 작업을 하고 나면

원하는 레이아웃이 나온다.

By Keen Dev on March 15, 2016.

Exported from Medium on May 31, 2017.