반응형

#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)



반응형

+ Recent posts