프로그래밍 Programming

실전! 딥러닝 - 노드의 종류

문장전달자 2020. 11. 18. 18:02
728x90

노드의 종류

  • 상수 - tf.constant 를 사용해서 정의함
  • 변수 - tf.Variable 를 사용해서 정의함. 학습대상의 파라메터를 변수로 정의함으로써 파라메터의 갱신, 즉 학습이 가능해짐
  • 플레이스홀더 - tf.placeholder 를 사용해서 정의함. 다양한 값을 받아 넣을 수 있는 상자. 
  • 연산 

 

예제

  • 변수 
import tensorflow.compat.v1 as tf

a = tf.Variable(11, name='a') 
b = tf.constant(9, name='b') 
c = tf.assign(a, a+b)  

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    print('[1] : [c, a]=', sess.run([c, a]))
    print('[2] : [c, a]=', sess.run([c, a]))

[1] : [c, a]= [20, 20]

[2] : [c, a]= [29, 29]

 

변수초기화 메서드

tf.global_variables_initializer : 모든 변수 초기화

tf.variables_initializer : 변수 지정 초기화

 

  • 플레이스홀더
import tensorflow.compat.v1 as tf

a = tf.placeholder(dtype=tf.int32, name='a') 
b = tf.constant(1, name='b') 
c = a+b 

with tf.Session() as sess:
    print('a + b=', sess.run(c, feed_dict={a: 13}))

a + b= 14

 

  • 연산
import tensorflow.compat.v1 as tf

a = tf.constant(11, name='a') 
b = tf.constant(9, name='b') 
c = tf.add(a, b)
d = tf.multiply(a, b)

with tf.Session() as sess:
    print('a + b = ', sess.run(c))
    print('a * b = ', sess.run(d))

a + b = 20

a * b = 99

 

728x90