728x90
반응형
증상
텐서플로우가 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를 그대로 사용할 수 있다.
728x90
반응형
'Programming > Tips' 카테고리의 다른 글
[Jupyter notebook] 코드 접기 (codefolding) 설정하기 (0) | 2021.04.19 |
---|---|
[seaborn] 그림의 폰트 사이즈 바꾸기 (0) | 2020.11.02 |
[Jupyter notebook] code cell 폭 늘리기 (0) | 2020.10.30 |
[tistory] 티스토리에 LaTeX 수식 입력하기 (feat. 수식정렬) (1) | 2020.10.30 |
[tensorflow] WARNING:tensorflow:AutoGraph could not transform 해결방법 (0) | 2020.10.30 |
댓글