본문 바로가기

텐서플로13

20. Windows(윈도우)에 Tensorflow(텐서플로) GPU 설치하기 Tensorflow v0.12 부터 Windows 지원 이번에 업데이트가 된 TensorFlow v0.12.0 RC1 에서부터 windows OS에서도 Tensorflow를 사용이 가능하도록 지원이 되었습니다. (현재 2017년 7월 최신버전은 1.2버전입니다) https://developers.googleblog.com/2016/11/tensorflow-0-12-adds-support-for-windows.html?1480466252369=1 아주 편리하고 쉽게 설치가 가능해졌고, Nvidia 그래픽 카드를 이용한 GPU도 마음것 사용이 가능하게 되었습니다. 이제부터 Windows 로컬 PC에 설치하는 방법에 대해서 정리를 해보겠습니다. 사진들은 클릭하면 확대됩니다. 설치준비 - 파일 다운로드 ANAC.. 2016. 12. 18.
16. Tensorflow 시작하기 - input function 이번에는 tf.contrib.learn 에 있는 input functions를 생성하는 방법에 대해서 알아보겠습니다.input_fn을 사용하면 모델에 preprocess를 처리하거나 data를 feed 하는데 유용하게 사용할 수 있습니다. Custom Input Pipelines with input_fn tf.contrib.learn을 사용해서 neural network 학습을 진행할때 우리는 feature와 target data를 직접적으로 fit, evaluate, predict ops에 사용하였습니다. tf.contrib.learn quickstart 의 예제를 통해서 보았던 방법인데 이러한 접근방식은 source data가 완벽하여 추가 보정같은 것이 필요하지 않을때만 사용이 가능합니다.하지만, .. 2016. 11. 14.
15. Tensorflow 시작하기 - Logging & Monitoring 이번에는 Tensorflow를 이용해서 모델을 학습하는 알고리즘을 구현할 때,Tensorflow의 로깅하는 기능과 모니터링 할때 사용하는 api에 대해서 알아보겠습니다.이번 내용에서는 이전에서 다뤘던 tf.contrib.learn Quickstart 에서 사용했던 내용을 기반으로 합니다. 안보신 분들은 한번 읽어보시고 오시면 좋을 것 같습니다. 이 예제는 Iris 3개종 중에서 하나를 예측하는 내용입니다.이를 위해서 Neural Net classifier 를 사용하여 학습을 하게 됩니다.그런데 이 예제 소스를 그냥 실행시키면 현재는 결과 값만 볼 수 있습니다. 학습이 진행되는 과정에 대한 내용을 볼 수 없는 상태입니다. 로깅을 하지 않으면 일종에 눈가리고 프로그래밍을 하는 것과 같습니다. 실제 어떻게 동.. 2016. 11. 13.
14. Tensorflow 시작하기 - Wide & Deep Learning 이번에는 또 다른 모델인 선형 모델과 DNN 모델을 합쳐놓은 모델에 대한 튜토리얼 예제를 살펴보도록 하겠습니다. 우선 선형모델에 대하여 장점과 필요성에 대해서 문서에 잘 나와있으니 한번쯤 읽어보시길 바랍니다. 위에서 소개되어 있는 선형모델에 대하여 요약 정리하면, 선형 모델은 아주 간단하게 구현이 가능하고 학습하는 속도가 빠르기 때문에,어떤 아이디어가 생기면 프로토타입형식으로 빠르고 간단하게 테스트를 해볼 수 있는 장점이 있습니다.이렇게 한번 검증 절차를 거치면 상대적으로 복잡하고 긴 시간의 학습이 걸리는 모델에 들어가기 이전단계에서 충분히 가능성을 확보하고 진행을 할 수 있다는 장점이 있는 것입니다. 이러한 선형모델에서는 학습데이터에 대한 features가 중요하게 작용을 하는데, 이번 튜토리얼에서는 .. 2016. 11. 8.
13. Tensorflow 시작하기 - tf.contrib.learn Quickstart Tensorflow 에서 제공하는 특별한 패키지들이 있습니다. 이번에는 tf.contrib.learn Quickstart 튜토리얼을 통해서 이 라이브러리를 사용하면 얼마나 쉽게 구현을 할 수 있는지 알아보겠습니다. 참고로 Tensorflow 사이트를 보실때 가능하면 오리지널 사이트에 있는 master 버젼으로 보는게 좋겠습니다. 이번 예제를 하면서 최신버젼(현재 r11)을 보면서 했는데도 예제가 오류가 발생해서 한시간동안이나 수정하고 있었는데, 우연히 master 버젼을 보고 이미 수정이 되어 있어서 완전 허탈했네요.ㅜㅜ 여튼 이런 삽질은 정말 피하고 싶으니 가능하면 master 버젼의 문서를 보는게 좋겠습니다. 튜토리얼 사이트를 먼저 읽어보시고 중간쯤에 위치해 있는 두개의 csv 파일을 다운로드 받아서.. 2016. 11. 7.
11. Tensorflow 시작하기 - TensorBoard Tensorflow 에서는 알고리즘이 학습하는 과정을 시각화 하기 위한 툴을 제공하고 있습니다.바로 TensorBoard 라고 하는 데이터를 시각화해서 그래프로 보기 좋게 표현해주는 툴입니다. 튜토리얼 예제를 통해서 실행한 텐서보드 화면입니다. 이와 같이 학습하는 과정에서 발생하는 데이터를 로깅하고 그 데이터를 그래프로 볼 수 있어 아주 유용하게 사용됩니다. 텐서보드를 사용하기 위해서는 먼저 summary 객체를 정의해 주어야 합니다. # Build the summary Tensor based on the TF collection of Summaries. summary = tf.merge_all_summaries() 그런 후에 세션을 생성해 주고해당 세션을 인자로 하는 summary_writer를 생성해.. 2016. 11. 5.
10. Tensorflow 시작하기 - flags Tensorflow 에서 제공하는 flags 객체를 사용하면 고정값으로 되어 있는 기본적인 데이터를 편리하게 사용할 수 있습니다. flags 객체는 int, float, boolean, string 의 값을 저장하고, 가져다 사용하기 쉽게 해주는 기능을 합니다.사용방법도 간단하고 텐서플로 튜토리얼에서도 사용되니 보시면 좋을 것 같습니다. flags = tf.app.flags FLAGS = flags.FLAGS flags.DEFINE_float('learning_rate', 0.01, 'Initial learning rate.') flags.DEFINE_integer('max_steps', 2000, 'Number of steps to run trainer.') flags.DEFINE_integer('hi.. 2016. 11. 4.
9. Tensorflow 시작하기 - Session Tensorflow에서 실제 실행되는 환경인 Session을 구성하는 다양한 방법이 있습니다. 이번에는 이러한 Session을 생성하는 것을 알아보겠습니다. Session은 operation 객체를 실행하고, tensor 객체를 평가하기 위한 환경을 제공하는 객체입니다. 지금까지 다루었던 기본적인 Session은 tf.Session()을 이용해서 객체를 생성하고 사용하는 방법이였습니다.그리고 모든 연산과 수행이 완료가 되면 close()를 이용해서 Session 객체를 닫아주어야 합니다. import tensorflow as tf x = tf.placeholder(tf.float32) y = tf.placeholder(tf.float32) z = tf.mul(x, y) sess = tf.Session().. 2016. 10. 25.
8. Tensorflow 시작하기 - placeholder Tensorflow의 데이터를 입력 받는 방법중에서 상수와 변수를 생성하는 방법을 앞에서 보았는데요 이번에는 데이터의 형태만 지정하고 실제 데이터는 실행 단계에서 입력받도록 하는 방법에 대해서 알아보겠습니다. 기본 제공되는 placeholder()를 이용해서 다양한 데이터를 입력 받아 처리할 수 있도록 할 수 있습니다. 실수형의 x, y을 선언하고실제 실행이 되는 시점의 sess.run() 에서 feed_dict 속성으로 데이터를 feed 하여 사용하게 됩니다.결과 값은 정상적으로 15.0이 출력됩니다.import tensorflow as tf x = tf.placeholder(tf.float32) y = tf.placeholder(tf.float32) z = tf.mul(x, y) sess = tf.S.. 2016. 10. 24.
7. Tensorflow 시작하기 - 연산 Tensorflow에서 Matrix 연산에 대해서 알아보겠습니다. 많은 데이터를 처리하기 위해서는 대부분의 경우에 데이터가 다차원의 Matrix로 구성이 됩니다.이를 한번에 빠르게 연산을 하기 위해서는 Matrix 연산을 잘 다루어야 합니다. Tensorflow에서 기본적으로 제공해주는 연산 함수들에 대해서 알아보겠습니다. 1. 덧셈 : tf.add() import tensorflow as tf x = tf.Variable([[2, 2, 2],[2, 2, 2]]) y = tf.Variable([[3, 3, 3],[3, 3, 3]]) z = tf.add(x, y) init_op = tf.initialize_all_variables() sess = tf.Session() sess.run(init_op) pr.. 2016. 10. 23.