텐서플로우 tf placeholder

csexpert·2021년 2월 19일

deep-learning

목록 보기
1/4

텐서플로우 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()

로 변경하면 사용이 가능하다고 한다.

profile
공대생입니다.

0개의 댓글