본문 바로가기

시작하기16

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.
19. Tensorflow 시작하기 - word2vec 이번에는 텍스트로 사용되는 언어를 처리하는(Language Processing) 방법에 대한 튜토리얼을 살펴보겠습니다. 이번 튜토리얼의 링크는 다음과 같습니다 원문 : https://www.tensorflow.org/versions/master/tutorials/word2vec/index.html한글 : https://tensorflowkorea.gitbooks.io/tensorflow-kr/content/g3doc/tutorials/word2vec/소스 : https://github.com/tensorflow/tensorflow/blob/r0.11/tensorflow/examples/tutorials/word2vec/word2vec_basic.py Distributional hypothesis 언어를 .. 2016. 11. 28.
18. Tensorflow 시작하기 - Convolutional Neural Networks (이미지 프로세싱) 이번에는 이미지를 인식하기 위해서 많이 사용되는 CNN 모델에 대해서 살펴보겠습니다. Deep CNN 튜토리얼 링크는 다음과 같습니다(https://www.tensorflow.org/versions/master/tutorials/deep_cnn/index.html#convolutional-neural-networks)튜토리얼 문서에서 'tensorflow/models/image/cifar10' 로 되어 있는 링크에서 최신본의 전체 소스를 다운로드 할 수 있습니다. 다운로드 받으신 파일들중에서 'cifar10_train.py' 파일을 실행하면 기초 데이터를 다운받고 학습을 진행하게 됩니다. 이번에는 많은 이미지들을 학습해야 하기 때문에 서버 사양에 따라 빠르면 4~5시간에서 많게는 몇일이 걸릴수도 있으니 .. 2016. 11. 20.
17. Tensorflow 시작하기 - Estimator 지금까지 우리는 기본적으로 제공되고 있는 tf.contrib.learn 의 알고리즘 API들을 그대로 사용하여 학습을 시키고 loss를 구하고 평가를 하였습니다. LinearClassifier: Constructs a linear classification model.LinearRegressor: Constructs a linear regression model.DNNClassifier: Construct a neural network classification model.DNNRegressor: Construct a neural network regressions model. 그런데 우리의 목적에 맞게 조금 변형하고 보완하여 사용하고 싶을 때나, 혹은 다른 종류의 알고리즘을 사용하고 싶을 경우에는 이러.. 2016. 11. 19.
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.
12. Tensorflow 시작하기 - TensorFlow Mechanics 101 이번에는 Tensorflow 튜토리얼 예제중에서 매카니즘을 살펴보도록 하겠습니다. 이번 예제는 총 3개의 Layer로 구성되어 있는 Neural Network 기반의 예제입니다. 여기서는 NN을 구현하는 목적에 관련된 것이라니 보다는 Tensorflow를 활용해서 구현을 할때 어떤 방법으로 사용되면 좋은지에 대하여 살펴볼 수 있는 예제인 것 같습니다.더불어 TensorBoard를 이용해서 그래프를 시각적으로 볼 수 있는 내용등이 포함되어 있습니다. 튜토리얼을 텐서플로 코리아에서 환글화를 해주셔서 편하게 한번 읽어 볼 수 있고, 해당 예제 소스도 다운로드 받을 수 있으니 한번씩 보시면 좋을 것 같습니다. 먼저 소스를 내려받아서 실행을 해보면 다음과 같이 콘솔상에 결과 화면을 볼 수 있습니다. Extract.. 2016. 11. 6.
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.