텐서플로우 placeholder란, 처음에 변수를 선언할 때 값을 바로 주는 것이 아니라, 나중에 값을 던져주는 공간을 만들어주는 것이다.
아래의 소스 코드를 보면 쉽게 이해할 수 있을 것이다.
a = tf.placeholder(tf.float32)
b = tf.placeholder(tf.float32)
add node = tf.add(a + b)
print(sess.run(add_node, feed_dict = {a: [1, 3], b: [2, 5]}))
이렇게 하면, a에 1, 3을 넣고, b에 2, 5를 넣은 것이 된다. 출력되는 값은
[ 3. 7. ]
가 된다.
아, 그리고 타입 중에서 float32가 가장 많이 쓰인다고 한다.
shape도 정할 수 있다.
a = tf.placeholder(tf.float32, shape=[None])
이렇게 하면, shape이 정해지지 않아서 1차원부터 다 나올 수 있다는 것을 의미한다.
++ 추가
실습하면서 tf.placeholder를 사용하려고 하니, 에러가 난다.module 'tensorflow' has no attribute 'placeholder'tf 2.0으로 업그레이드하면 안된다고 한다.
import tensorflow as tf를
import tensorflow.compat.v1 as tf tf.disable_v2_behavior()로 변경하면 사용이 가능하다고 한다.