[python] placeholder 오류

2021. 9. 23. 22:56파이썬

증상 

 

텐서플로우가 2.0으로 업데이트 되면서 tf.placeholder를 사용할 수 없게 되었다. 다음과 같이 실행한다면 placeholder라는 속성을 찾을 수 없다는 오류를 낸다. 

import tensorflow as tf 

X = tf.placeholder("float")

 

이를 해결 할 수 있는 두 가지 방법을 알아보도록 하자. 

 

 

Solution 1

 

: tensorflow의 버전 업데이트에 따른 변화를 적용하는 것이다. 업데이트에 대한 자세한 내용은 여기를 참고하기 바란다. 

#tensorflow 1.x
self._states = tf.placeholder(shape=[None, self._num_states], dtype=tf.float32)

#tensorflow 2.x
self._states = tf.Variable(tf.ones(shape=[None, self._num_states]), dtype=tf.float32)

 

 

Solution 2

 

: compatibility mode를 적용해 1.x 버전의 기능을 그대로 사용하는 것이다. 

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

x = tf.placeholder(shape=[None, 2], dtype=tf.float32)

 

위와 같이 tf.disable_v2_behavior()를 실행해서 tf.placeholder를 그대로 사용할 수 있다. 



출처: https://gmnam.tistory.com/159 [Voyager]

'파이썬' 카테고리의 다른 글

[python] tf.constant vs tf.Variable  (0) 2021.09.23
[python] feed_dect, placeholder  (0) 2021.09.23
[python] 2차원 배열 입력받기  (0) 2021.01.27
주피터 노트북의 기본 웹 브라우저 설정방법  (0) 2020.10.13
numpy의 axis  (0) 2020.10.13