본문 바로가기

Tensorflow23

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.
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.
6. Tensorflow 시작하기 - 변수 안녕하세요 이번에는 변수에 대해서 알아보도록 하겠습니다. 1.변수 생성 Tensorflow에서는 Variable() 이라는 생성자를 사용해서 변수를 생성할 수 있습니다. 이 변수는 생성되는 순간에 데이터의 타입과 크기가 결정이 됩니다. 아래와 같이 2.0의 실수 값을 생성하고 그 즉시 print를 해보면 object의 형태로만 보여지고 값이 출력이 되지 않습니다. 또, 이 변수들은 상수와는 다르게 특별히 초기화를 해주어야 합니다. tf.initialize_all_variables() 라는 op을 이용해서 위에 정의된 모든 변수들을 초기화하며 이를 수행하지 않고 실행을 하면 에러가 발생하게 됩니다. 그리고 이렇게 초기화된 변수들은 session에서 한번 실행을 해주어야 실제로 사용이 가능해지고, sess... 2016. 10. 19.
5. Tensorflow 시작하기 - 상수 Tensorflow의 상수에 대해서 살펴보겠습니다.어떤 값을 입력해야 하는지 어떻게 출력이 되는지 한번 보겠습니다. 1. 정수 상수 값을 사용하기 위해서는 tf.constant() 함수를 사용해서 상수 x 값을 생성하면 됩니다.정수 값인 3을 입력하여 x를 만들어보겠습니다. 그리고 총 두번 출력을 하도록 하였습니다. 한번은 x 값을 그대로 출력하고 다른 한번은 Tensorflow에서 제공하는 session을 실행하여 출력을 합니다. import tensorflow as tf x = tf.constant(3) print(x) sess = tf.Session() result = sess.run(x) print(result) >Tensor("Const:0", shape=(), dtype=int32)>3 x 라.. 2016. 10. 17.
4. 튜토리얼 예제로 한번 실행해보기2 (Neural Network) Tensorflow 튜토리얼에 간단한? 예제가 하나더 있는데 NN을 이용하여 학습하는 예제입니다.새로운 함수가 몇개 나오는데 정확히 뭘 해주는 함수인지가 애매해서 매우~ 난해합니다. Tensorflow 튜토리얼 문서 바로가기 test2.pyimport tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnistData = input_data.read_data_sets('MNIST_data', one_hot=True) sess = tf.InteractiveSession() x = tf.placeholder(tf.float32, shape=[None, 784]) y_ = tf.placeholder(tf.float32, sh.. 2016. 9. 29.