일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Sort
- python
- 하둡2
- LSTM
- 텐서플로
- 선형대수
- 파이썬
- collections
- hive
- scrapy
- HelloWorld
- C
- 주식분석
- graph
- 하이브
- Java
- 그래프이론
- tensorflow
- 딥러닝
- codingthematrix
- RNN
- 알고리즘
- effective python
- NumPy
- hadoop2
- 코딩더매트릭스
- recursion
- C언어
- yarn
- GRU
- Today
- Total
목록DeepLearning (33)
EXCELSIOR
Chap09 - 분산 텐서플로 9.1 분산 컴퓨팅텐서플로에서의 분산 컴퓨팅은 딥러닝 모델의 학습 속도를 향상 시키기 위해서 여러 대의 기계를 사용하는 것을 말한다. 9.2 텐서플로의 병렬처리 요소그렇다면, 텐서플로에서 병렬계산(parallel computation)에 사용되는 요소와 개념에 대해 알아보도록 하자. 9.2.1 tf.app.flagstf.app.flags는 병렬계산과는 전혀 상관이 없지만, 텐서플로 예제에서 많이 사용되므로 아는것이 좋다. 그리고 이 교재의 마지막 예제에서도 tf.app.flags를 사용한다.tf.app.flags는 Python의 argparse 모듈의 래퍼(wrapper)이다. argparse모듈은 Terminal이사 cmd창에서의 python ~.py --~~에 있는 인자..
Chap08 - 큐, 스레드, 데이터 읽기텐서플로 파일 형식인 TFRecord를 읽고 쓰는 방법에 대해 알아보자. 8.1 입력 파이프라인MNIST 이미지처럼 용량이 크지 않은 데이터는 메모리에 올려 텐서플로(TensorFlow) 그래프에 데이터를 넣어주는 방법이 편리하지만, 데이터의 용량이 큰 경우에는 메모리에 데이터를 올리는 것이 어려워진다. 이럴 경우에는 데이터를 필요한 만큼 로드하는 방식이 효율적이다.앞에서 모델링한 딥러닝 모델에 데이터를 넣어주기 위해서 tf.Session().run()에서 feed_dict인자에 데이터를 넣어 줬었다. 하지만, 이러한 방법은 데이터를 단일 스레드로 복사하여 속도가 느리다는 단점이 있다.텐서플로에서는 이러한 단점을 보완하는 텐서플로의 표준 파일 형식과 이러한 형식을..
Chap07.4 - 텐서플로 추상화와 간소화, TF-Slim7.5 TF-SlimTF-Slim은 텐서플로를 가볍게(?) 사용할 수 있는 텐서플로의 확장된 추상화 라이브러리이며, 복잡한 모델을 빠르고 직관적으로 정의하고 학습할 수 있다. TF-Slim은 텐서플로 내에 포함되어 있으므로 별도의 설치를 하지 않아도 된다. TF-Slim의 추상화는 모두 CNN(Convolutional Neural Network)에 관한 것이다. CNN의 경우 동일한 합성곱 계층(Convolution Layer)을 여러번 재사용하는 보일러플레이트(boilerplate code)코드가 많다. 이러한 코드가 많을 경우 모델이 복잡해질 뿐만아니라 가독성 또한 떨어지게 된다. TF-Slim은 이러한 복잡한 CNN 모델을 High-Leve..
Chap07.3 - 텐서플로 추상화와 간소화, Keras 7.4 케라스(Keras)케라스(Keras)는 인기있는 텐서플로 확장 라이브러리 중 하나이다. 케라스는 원래 Theano용으로 개발되었지만, 2017년 구글의 공식 후원을 받아 1.1버전 부터 tf.contrib.keras안에 들어왔으며, 현재 이글을 작성하는 시점인 2018.06.30의 1.8버전에는 tf.keras로 변경된 텐서플로의 한 부분으로 자리를 잡았다. 따라서, 케라스는 Theano와 텐서플로(TensorFlow) 양쪽을 모두 지원한다.케라스는 연산 그래프를 다루고 텐서플로와 통신하는 데 사용할 수 있는 자체 그래프 구조를 가지고 있다. 케라스는 순차형(Sequential)모델과 함수형 API(Funtional API) 두 가지 유형이..
Chap07.2 - 텐서플로 추상화와 간소화, TFLearnTFLearn은 Chap07.1 Estimator에서 살펴본 tf.estimator와 마찬가지로 텐서플로의 추상화 라이브러리이다. 이번에는 TFLearn에 대해 알아보도록 하자. 7.3 TFLearn7.3.1 설치TFLearn은 텐서플로에 포함되어 있지 않기 때문에 별도의 설치가 필요하다. Terminal(또는 cmd창)에 pip 명령을 이용해 설치할 수 있다. pip install tflearn 7.3.2 CNNTFLearn은 Chap07.1 - tf.estimator와 유사하지만, TFLearn을 사용하면 조금 더 깔끔하게 모델을 만들 수 있다. TFLearn.org에서는 TFLearn을 다음과 같이 소개하고 있다.Easy-to-use and..
Chap07.1 - 텐서플로 추상화와 간소화, Estimator추상화가 무엇이며 왜 유용한지 알아보고 텐서플로(TensorFlow)의 몇몇 대중적인 추상화 라이브러리를 간단하게 살펴보도록 하자. 7.1 개요추상화(abstraction)이란 코드를 특정한 목적으로 일반화하여 기존 코드 '위에 올라가는' 코드의 계층을 의미한다. 관련있는 High-Level 기능을 묶는 방식의 재구성을 통해 코드를 감싸서 추상화한다. 따라서 쉽게 코딩할 수 있고, 가독성이 좋으며, 코드가 간소화된다. 7.1.1 추상화 라이브러리 둘러보기텐서플로(TensorFlow)에서 사용할 수 있는 인기있는 추상화 라이브러리는 다음과 같다고 한다.tf.estimatorTFLearnTF-SlimKerasTFLearn은 별도의 설치가 필요하며..
Chap06 - 텍스트 2: 단어 벡터, 고급 RNN, 임베딩 시각화5장에서 살펴본 텍스트 시퀀스를 좀 더 깊이 알아보며, word2vec이라는 비지도학습 방법을 사용하여 단어 벡터를 학습하는 방법과 텐서보드를 사용해서 임베딩을 시각화 하는 방법에 대해 알아보자. 그리고 RNN의 업그레이드 버전인 GRU에 대해서 알아보자. 6.1 단어 임베딩 소개5.3.2에서 텐서플로(TensorFlow)를 이용해 텍스트 시퀀스를 다루는 방법을 알아 보았다. 단어 ID를 저차원의 Dense vector로의 매핑을 통해 단어 벡터를 학습시켰다. 이러한 처리가 필요한 이유는 RNN의 입력으로 넣어 주기 위해서였다.TensorFlow is an open source software library for high perform..
Chap05 - 텍스트 1: 텍스트와 시퀀스 처리 및 텐서보드 시각화텐서플로에서 시퀀스(sequence) 데이터인 텍스트를 어떻게 다루는지 알아보고, RNN 구현방법 및 텐서보드를 이용한 시각화에 대해 알아본다. 그 다음 단어 임베딩 학습 및 LSTM을 구현해본다. 5.1 시퀀스 데이터의 중요성Chap04-합성곱 신경망 CNN에서 이미지의 공간(spatial) 구조를 이용하여 CNN을 구현하였고, 이러한 구조를 활용하는 것이 중요하다는 것을 알아 보았다. 이번에 알아볼 순차형 데이터 구조인 시퀀스(sequence) 데이터 또한 중요하고 유용한 구조이다. 시퀀스 데이터란 각각의 데이터가 순서가 있는 데이터를 말하며, 다양한 분야에서 찾을 수가 있다. 예를 들어, 음성신호, 텍스트, 주가 데이터 등이 있다...