티스토리 뷰


텐서플로우는 data flow graph를 이용한 숫자 계산을 할 수 있는 오픈소스 소프트웨어 라이브러리이다.



데이터 플로우 그래프는 노드와 노드 사이를 엣지로 연결한 것을 말하는데, 노드는 무슨 연산을 할지에 대한 operation 이고 엣지는 넘겨받을 데이터이다.

이때 엣지를 tensor 라고도 한다.



1
pip3 install --upgrade tensorflow 
cs



 

 텐서플로우의 설치는 이렇게 한다.  cmd창 띄워놓고 거기다가 이렇게 치면 됨.




1
2
3
4
5
6
7
8
9
import tensorflow as tf 
 
hello = tf.constant("Hello, Tensorflow!")
 
sess = tf.Session()
 
print(sess.run(hello))
 
 
cs



일단 tensorflow 모듈을 import한다.


그리고 tf.constant라는 상수를 만들고 거기에 있는 값을 hello라는 노드에 집어넣는다.


그 후 세션을 만들고 sess.run으로 세션을 실행하여 hello라는 노드가 출력된다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
import tensorflow as tf 
 
node1 = tf.constant(3.0,float32)
 
node2 = tf.constant(4.0)
 
node3 = tf.cosntant(node1, node2)
 
 
sess = tf.Session()
 
print("sess.run(node1,node2) :",sess.run([node1,node2]))
 
print("sess.run(node3) :",sess.run(node3))
cs




위의 예제는 node1에 3.0, node2에 4.0을 넣어주고 세션을 실행하는 간단한 예제이다.




이런 모양의 그래프가 만들어 질 것이고, 세션을 실행하면 adder_node에 7이 들어갈 것이다.




1
2
3
4
5
6
7
8
9
10
11
12
import tensorflow as tf 
 
= tf.placeholder(tf.float32)
 
= tf.placeholder(tf.float32)
 
adder_node = a+b
 
print(sess.run(addre_node, feed_dict={a : 3, b : 4.5}))
 
 
print(sess.run(addre_node, feed_dict={a : [1,2], b : [3,5]}))
cs




placeholder라는 것을 이용하여 변수 선언 부분에서 값을 대입하지 않고 세션을 실행하는 부분에서 값을 feed_dict로 값을 넘겨준 후 세션을 실행할 수 

있다.



placeholder를 사용했을 때의 실행 과정



1.placeholder라는 노드를 사용하여 그래프를 그린다. --> 2.세션을 실행을 하면서 feed_dict로 값을 넘겨준다. --> 3.그래프가 실행이 되면서 값을 리턴한다





Tensor는 그래프 내에서 흘러다니는 배열(array)들이다.




배열이기 때문에 차원이 존재할 것이고, 이것을 Rank 라고 한다.


123 은 Rank가 0이고, [1,2,3]은 Rank가 1이다. [[1,2,3],[4,5,6]]은 Rank가 2이다.




Shape은 각각의 요소의 갯수이다.


만약 [[1,2,3],[4,5,6]] 이러한 배열이 있으면 shape는 [2,3] 이다.




데이터 타입은 float32 타입, int32 타입을 대부분 사용한다.

'Programming > Deep Learning' 카테고리의 다른 글

퍼셉트론 AND , OR , NAND게이트  (0) 2018.03.20
퍼셉트론  (0) 2018.03.20
Linear Regression 구현 (using placeholder)  (0) 2018.03.19
Linear Regression 구현  (0) 2018.03.19
Linear Regression의 이해  (0) 2018.03.18
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/05   »
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
글 보관함