플레이스 홀더 : 학습 데이터를 포함하는 변수

 

placeholder를 이용하여 입력값과 설계된 수식을 완전히 분리함으로서 보다 간단하게 어떠한 데이터를 통해 기계 학습을 시키고 관리할 수 있게 됩니다.

 

tf.placeholder(dtype, shape, name)

 ( dtype : data type )

 

기본적으로 많이 쓰이는 형태

a = tf.placeholder(dtype=tf.float32)

 

 

 

1. "여러 개의 데이터에 대하여 각각 5와 더한 값을 반환하는 프로그램을 만들어보라."는 미션에 대한 솔루션을 만들어보자.

 =>>> y = x + 5

import tensorflow as tf
# Info성 불필요 메시지 미출력을 위한 작업
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

################################################################

# input data 배열 예시 세팅
input_data = [1, 2, 3, 4, 5]

# x placeholder를 통해 x 변수 정의
x = tf.compat.v1.placeholder(dtype=tf.float32)

# 모델 정의
y = x + 5

# 세션 생성
sess = tf.compat.v1.Session()

# input data를 x에 넣어 모델 시뮬레이션 결과 출력
print(sess.run(y, feed_dict={x: input_data}))

여기에서 보이는 6. , 7. 과 같이 숫자 뒤에 .이 있는 것은 6.0 7.0 이라는 의미이다.

 

 

 

2. 수학 점수와 영어 점수의 평균을 구하는 코드를 짜보자.

import tensorflow as tf
# Info성 불필요 메시지 미출력을 위한 작업
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

################################################################

# 수학점수와 영어점수 예시
math_score = [80, 82, 84, 86, 88]
english_score = [70, 73, 76, 79, 82]

# placeholder를 통해 a, b 변수 정의
a = tf.compat.v1.placeholder(dtype=tf.float32)
b = tf.compat.v1.placeholder(dtype=tf.float32)

# 모델 정의
y = (a + b) / 2

# 세션 생성
sess = tf.compat.v1.Session()

#수학점수, 영어점수 데이터를 a, b에 넣어 모델 시뮬레이션 결과 출력
result = sess.run(y, feed_dict={a : math_score, b : english_score})
print(result)

 

+ Recent posts