#1. 텐서플로우의 자료형
텐서플로우는 연산을 그래프형태로 처리한다.
그래프가 돌아가는 뭉텅이를 텐서플로우에서 세션(session)이라고 한다.
이런 세션은 디바이스(device,=cpu)에 올라간다.
텐서플로우 자체에서 연산자체를 파이썬단에서 하지 못하게 해놨다.
연산 그래프를 디바이스에 올려서, 연산자체는 C에서 한다.
텐서플로우 API를 자세히 보도록 하자!!
텐서플로우의 데이터형은 총 3가지가 있다.
1) Placeholder
2) Variable
3) Constant
import tensorflow as tf
ph = tf.placeholder(dtype=tf.float32,shape=[3,3])
var = tf.variable([1,2,3,4,5],dtype=tf.float32)
const = tf.constant([10,20,30,40,50],dtype=tf.float32)
sess = tf.Session()
result = sess.run(const)
a = tf.constant([15])
b = tf.constant([10])
c = tf.constant([2])
d = a*b + c
print(d)
sess = tf.Session()
result=sess.run(d)
print(result)
Variable은 weight Parameter를 담아놓는 공간이기때문에, 초기화가 필요한 자료형이다. 초기화 함수가 따로 있다. => tf.initialize_all_variables()
var1 = tf.Variable([5],dtype=tf.float32)
var2 = tf.Variable([3],dtype=tf.float32)
var3 = tf.Variable([2],dtype=tf.float32)
var4 = var1*var2+var3
init= tf.initialize_all_variables()
result=sess.run(var4)
print(result)
-----
Placeholder는 텐서와 그래프를 맵핑시키는 역할을 한다
Placeholder는 인풋데이터를 입력할때 사용한다.
value1 = 5
value2 = 3
value3 = 2
ph1 = tf.placeholder(dtype=tf.float32)
ph2 = tf.placeholder(dtype=tf.float32)
ph3 = tf.placeholder(dtype=tf.float32)
feed_dict = {ph1: value1, ph2:value2, ph3:value3}
result_value = ph1 * ph2 + ph3
sess = tf.Session()
result = sess.run(result_value, feed_dict = feed_dict)
print(result)
------------
image = [1,2,3,4,5]
label = [10,20,30,40,50]
ph_image = tf.placeholder(dtype=tf.float32)
ph_label= tf.placeholder(dtype=tf.float32)
feed_dict = { ph_image:image , ph_label: label }
result_tensor = ph_image + ph_label
sess = tf.Session()
result = tf.run(result_tensor,feed_dict=feed_dict)
print(result)
'딥러닝' 카테고리의 다른 글
[딥러닝]Wasserstein distance 에 관하여 (2) | 2017.08.28 |
---|---|
[딥러닝] 우분투 16.04에서 pyCuda 설치 (0) | 2017.08.09 |
[텐서플로우] model save and restore (0) | 2017.01.29 |
[딥러닝] Tensorflow 윈도우10에 설치하기 (0) | 2017.01.26 |
[딥러닝] 2007년 인공지능에 관한 테드영상 (0) | 2017.01.23 |