작성
·
415
0
코랩에서 cartpole_reinforce.ipynb 실행시킬때 아래와 같은 에러 발생합니다.
ValueError: Layer "my_model_1" expects 3 input(s), but it received 1 input tensors. Inputs received: [<tf.Tensor 'IteratorGetNext:0' shape=(None, 1, 4) dtype=float32>]
에러나는 소스 위치는 아래 화면에서 "y_pred = self(states, training=True)" 부분에서
에러가 발생됩니다.
class MyModel(tf.keras.Model):
def train_step(self, data):
in_datas, out_actions = data
states, action_matrix, rewards = in_datas[0], in_datas[1], in_datas[2]
with tf.GradientTape() as tape:
y_pred = self(states, training=True)
action_probs = K.sum(action_matrix*y_pred, axis=-1)
loss = -K.log(action_probs)*rewards
trainable_vars = self.trainable_variables
gradients = tape.gradient(loss, trainable_vars)
self.optimizer.apply_gradients(zip(gradients, trainable_vars))
tensorflow 버젼 : 2.9.2 이며, 모델에 3개의 값을 주어야 하는데, 1개만 받아서 그런것 같습니다.
해결 방법 알려 주시기 바랍니다.
감사합니다.
답변 2
0
혹시 누군가 동일한 문제를 겪으면 도움이 될까해서 늦은 댓글이지만 작성합니다.
아래는 ubuntu 20.04 , conda , GPU , python 3.8 와 같은 환경에서 작업하였음을 알려드립니다.
위 에러 메세지는 tensorflow 2.2.0 설치하면 사라지는것을 확인하였습니다.
공식 빌드는 설치 불가로 생각됩니다.
wheel 사용한 설치 pip install https://github.com/davidenunes/tensorflow-wheels/releases/download/r2.2.cp38.gpu/tensorflow-2.2.0-cp38-cp38-linux_x86_64.whl
이 경우 numpy 버전 에러가 추가로 발생하게 됩니다.
아래와 같은 에러가 보이면
AttributeError: module 'numpy' has no attribute 'object'. `np.object` was a deprecated alias for the builtin `object`. To avoid this error in existing code, use `object` by itself. Doing this will not modify any behavior and is safe. The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
다음처럼 설치
pip install numpy==1.23.4
종합 결론 > 아래처럼 조치하시면 동작합니다.
pip install https://github.com/davidenunes/tensorflow-wheels/releases/download/r2.2.cp38.gpu/tensorflow-2.2.0-cp38-cp38-linux_x86_64.whl
pip install numpy==1.23.4
0
안녕하세요 yunwoo oh님.
본 강의가 제작된 후 패키지에 많은 업데이트가 있어 오류가 발생하고 있습니다. 그래서 새 소식에 다음과 같은 공지를 올렸습니다. https://www.inflearn.com/course/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EB%A5%BC-%EC%9C%84%ED%95%9C-%EA%B0%95%ED%99%94%ED%95%99%EC%8A%B5/news
따라해서 조치해 보시고, 문제가 계속 발생하신다면 오류 메시지 전체를 올려주세요.
감사합니다.
안녕하세요 Kim Sunggu님 좋은 의견 감사합니다.