[딥러닝 학습1] MAC OS 파이썬, Tensorflow 설치, 텐서 개념 파악하기

1. 파이썬 설치하기

https://www.python.org/downloads/

2.  터미널을 열어 파이썬3 pip로 tensorflow를 설치한다.

sudo pip3 install --upgrade tensorflow

3. 아래와 같이 버전정보가 출력될 경우 정상.

compiletime version 3.5 of module ‘tensorflow.python.framework.fast_tensor_util’ does not match runtime version 3.6 오류가 나오긴 하는데 아마도 파이썬이 너무 최신버전이라 호환되는 3.5를 쓰라는 것 같다.
딱히 안되는 건 아닌 듯 하여 그냥 진행하였다. 

python3 # 파이썬 실행
import tensorflow as tf # 텐서플로우를 tf로 정의.
tf.__version__ # 텐서플로우 버전정보 출력

Python IDE 실행시 아래와 같이 The version of Tcl/TK (8.5.9) in use may be unstable. 이 뜨면 https://www.python.org/download/mac/tcltk/ 링크에 들어가 각 파이썬, MAC 버전에 맞는 패키지를 받아 설치한다.
(해결 안해줄시 한글 입력에 문제 발생)

4.  tf세션을 실행하여 가장 간단히 텐서플로우 사용해보기

hello = tf.constant("hello, tensorflow") #hello란 이름으로 tf변수 정의
sess = tf.Session() #tf세션 생성
print(sess.run(hello)) #tf세션 RUN

5.  노드 그래프 텐서 생성해보기

node1 = tf.constant(3.0, tf.float32) #node1 정의
node2 = tf.constant(4.0) #node2 정의
node3 = tf.add(node1, node2) #node1과 node2를 add하는 node3정의

6. 각 노드를 출력해보면 아래와 같은데 3.0 / 4.0이 아닌 이유는 각 노드가 그냥 정의된 텐서 그래프라서 그렇다.
아래와 같이 세션을 생성하여 각 노드를 Run해보면 더해진 7.0이 나오는 것을 확인할 수 있다.

sess = tf.Session()
sess.run([node1, node2]))
sess.run([node3])

7. placeholder라는 것이 있는데 사용자가 그래프를 실행할때 데이터를 주입가능하게 해준다.
feed_dict란 매개변수를 활용하여 각 세션을 실행할 때 데이터를 주입해주었다.
주입된 데이터를 더해서 각각 결과가 잘 나온 것을 확인할 수 있었다.

a = tf.placeholder(tf.float32)
b = tf.placeholder(tf.float32)
adder_node = a+b
print(sess.run(adder_node, feed_dict={a:3, b:4.5}))
print(sess.run(adder_node, feed_dict={a: [1,3], b:[2,4]}))

이로써 확인가능한 텐서플로우의 기본 오퍼레이션.
1. 그래프를 정의한다 
2. 세션을 통해 그래프 실행 (placeholder로 데이터 주입가능)
     sess.run(op, feed_dict={x: x:data})
3. 출력값 리턴

텐서란? > Array 같은거.
Tensor Ranks: 배열의 차원수 값은거. [1, 2, 3]  /  [[[2], [4], [6]], [[8], [10], [12]]]
Tensor Shapes: 각 앨리먼트에 몇개씩 들어가있는지. [D0, D1, D2, D3, Dn-1…..]
Tensor Types: 데이터의 타입 / DF_FLOAT, DT_DOUBLE, DT_INT8, DT_INT16, DT_INT32 

이 포스트는 김성훈 교수님의 ‘모두의 딥러닝’  강의를 학습하며 정리한 노트입니다.

You may also like...

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.