[딥러닝 학습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
이 포스트는 김성훈 교수님의 ‘모두의 딥러닝’ 강의를 학습하며 정리한 노트입니다.
최근 댓글