-
카테고리
-
세부 분야
딥러닝 · 머신러닝
-
해결 여부
미해결
DQN 코드 에러
22.12.06 19:35 작성 22.12.06 19:38 수정 조회수 285
0
ValueError: cannot reshape array of size 2 into shape (1,4)
DQN 코드에서 다음과 같은 에러가 납니다.
state_t = np.reshape(state,[1, 1, self.state_size])
여기서 문제가 생기는 거 같은데.. 코드 확인 부탁합니다.
DQN 뿐만 아니라 REINFORCE, A2C 모두 같은 에러가 납니다.
답변을 작성해보세요.
0
멀티코어
지식공유자2022.12.06
안녕하세요 ljp4122님.
강의에서 설명한 것과 동일하게 코드를 작성하고 실행했을 때 오류가 발생했다면 환경 문제인 것 같습니다.
파이썬은 다른 프로그램들과 달리 버전에 굉장히 민감하기 때문에 기존에 사용하시던 환경을 잠시 제거하시고 강의를 수강 하시는 동안은 다음 버전의 프로그램을 설치해주시면 감사하겠습니다.
동일한 버전의 SW를 설치했는데도 계속 문제가 발생하시면 다시 문의 글 남겨주세요. 감사합니다.
python 3.7.7
tensorfow 2.2
numpy 1.19.3
감사합니다.
ljp4122
질문자2022.12.07
# packages in environment at C:\Anaconda3_64\envs\rlcode5:
# Name Version Build Channel
absl-py 1.3.0 pypi_0 pypi
anyio 3.6.2 pypi_0 pypi
argon2-cffi 21.3.0 pypi_0 pypi
argon2-cffi-bindings 21.2.0 pypi_0 pypi
astunparse 1.6.3 pypi_0 pypi
attrs 22.1.0 pypi_0 pypi
backcall 0.2.0 pypi_0 pypi
beautifulsoup4 4.11.1 pypi_0 pypi
bleach 5.0.1 pypi_0 pypi
ca-certificates 2022.10.11 haa95532_0
cachetools 4.2.4 pypi_0 pypi
certifi 2022.9.24 py37haa95532_0
cffi 1.15.1 pypi_0 pypi
charset-normalizer 2.1.1 pypi_0 pypi
cloudpickle 2.2.0 pypi_0 pypi
colorama 0.4.6 pypi_0 pypi
cycler 0.11.0 pypi_0 pypi
debugpy 1.6.4 pypi_0 pypi
decorator 5.1.1 pypi_0 pypi
defusedxml 0.7.1 pypi_0 pypi
entrypoints 0.4 pypi_0 pypi
fastjsonschema 2.16.2 pypi_0 pypi
fonttools 4.38.0 pypi_0 pypi
gast 0.3.3 pypi_0 pypi
google-auth 1.35.0 pypi_0 pypi
google-auth-oauthlib 0.4.6 pypi_0 pypi
google-pasta 0.2.0 pypi_0 pypi
grpcio 1.51.1 pypi_0 pypi
gym 0.26.2 pypi_0 pypi
gym-notices 0.0.8 pypi_0 pypi
h5py 2.10.0 pypi_0 pypi
idna 3.4 pypi_0 pypi
importlib-metadata 5.1.0 pypi_0 pypi
importlib-resources 5.10.0 pypi_0 pypi
ipykernel 6.16.2 pypi_0 pypi
ipython 7.34.0 pypi_0 pypi
ipython-genutils 0.2.0 pypi_0 pypi
jedi 0.18.2 pypi_0 pypi
jinja2 3.1.2 pypi_0 pypi
jsonschema 4.17.3 pypi_0 pypi
jupyter-client 7.4.8 pypi_0 pypi
jupyter-core 4.12.0 pypi_0 pypi
jupyter-server 1.23.3 pypi_0 pypi
jupyterlab-pygments 0.2.2 pypi_0 pypi
keras-preprocessing 1.1.2 pypi_0 pypi
kiwisolver 1.4.4 pypi_0 pypi
markdown 3.4.1 pypi_0 pypi
markupsafe 2.1.1 pypi_0 pypi
matplotlib 3.5.3 pypi_0 pypi
matplotlib-inline 0.1.6 pypi_0 pypi
mistune 2.0.4 pypi_0 pypi
nbclassic 0.4.8 pypi_0 pypi
nbclient 0.7.2 pypi_0 pypi
nbconvert 7.2.6 pypi_0 pypi
nbformat 5.7.0 pypi_0 pypi
nest-asyncio 1.5.6 pypi_0 pypi
notebook 6.5.2 pypi_0 pypi
notebook-shim 0.2.2 pypi_0 pypi
numpy 1.19.3 pypi_0 pypi
oauthlib 3.2.2 pypi_0 pypi
openssl 1.1.1s h2bbff1b_0
opt-einsum 3.3.0 pypi_0 pypi
packaging 21.3 pypi_0 pypi
pandocfilters 1.5.0 pypi_0 pypi
parso 0.8.3 pypi_0 pypi
pickleshare 0.7.5 pypi_0 pypi
pillow 9.3.0 pypi_0 pypi
pip 22.3.1 pypi_0 pypi
pkgutil-resolve-name 1.3.10 pypi_0 pypi
prometheus-client 0.15.0 pypi_0 pypi
prompt-toolkit 3.0.33 pypi_0 pypi
protobuf 3.20.3 pypi_0 pypi
psutil 5.9.4 pypi_0 pypi
pyasn1 0.4.8 pypi_0 pypi
pyasn1-modules 0.2.8 pypi_0 pypi
pycparser 2.21 pypi_0 pypi
pygments 2.13.0 pypi_0 pypi
pyparsing 3.0.9 pypi_0 pypi
pyrsistent 0.19.2 pypi_0 pypi
python 3.7.7 h81c818b_4
python-dateutil 2.8.2 pypi_0 pypi
pywin32 305 pypi_0 pypi
pywinpty 2.0.9 pypi_0 pypi
pyzmq 24.0.1 pypi_0 pypi
requests 2.28.1 pypi_0 pypi
requests-oauthlib 1.3.1 pypi_0 pypi
rsa 4.9 pypi_0 pypi
scipy 1.4.1 pypi_0 pypi
send2trash 1.8.0 pypi_0 pypi
setuptools 65.5.0 py37haa95532_0
six 1.16.0 pypi_0 pypi
sniffio 1.3.0 pypi_0 pypi
soupsieve 2.3.2.post1 pypi_0 pypi
sqlite 3.40.0 h2bbff1b_0
tensorboard 2.2.2 pypi_0 pypi
tensorboard-plugin-wit 1.8.1 pypi_0 pypi
tensorflow 2.2.0 pypi_0 pypi
tensorflow-estimator 2.2.0 pypi_0 pypi
termcolor 2.1.1 pypi_0 pypi
terminado 0.17.1 pypi_0 pypi
tinycss2 1.2.1 pypi_0 pypi
tornado 6.2 pypi_0 pypi
traitlets 5.6.0 pypi_0 pypi
typing-extensions 4.4.0 pypi_0 pypi
urllib3 1.26.13 pypi_0 pypi
vc 14.2 h21ff451_1
vs2015_runtime 14.27.29016 h5e58377_2
wcwidth 0.2.5 pypi_0 pypi
webencodings 0.5.1 pypi_0 pypi
websocket-client 1.4.2 pypi_0 pypi
werkzeug 2.2.2 pypi_0 pypi
wheel 0.37.1 pyhd3eb1b0_0
wincertstore 0.2 py37haa95532_2
wrapt 1.14.1 pypi_0 pypi
zipp 3.11.0 pypi_0 pypi
(rlcode5) C:\Users\its>python --version
Python 3.7.7
ljp4122
질문자2022.12.07
위에 보시는 바와 같이 아나콘다 가상환경에 말씀하신 버전으로 설치되어 있습니다.
그리고 현재 에러 타입이 numpy shape 변환문제인데... 제가 아직 코드를 잘 볼 줄 몰라서 그렇습니다만... 배열로 자료를 받아서 저장할 때 부터 문제가 있는 거 같습니다.
확인 부탁드립니다.
멀티코어
지식공유자2022.12.07
안녕하세요 ljp4122님.
제가 말씀드린 버전과 동일한 패키지가 설치된 것 같습니다. 하지만, 교재와 다르게 아나콘다 환경을 사용하시는 것 같습니다. 아나콘다는 데이터 분석에 있어서 많은 장점을 제공해주고 있지만, 초보자가 사용할 때 환경문제가 있을 수 있습니다. 데이터분석 환경 설정에 익숙한 분이라면 아나콘다를 사용하는 것이 좋지만, 초보자의 경우 아나콘다를 삭제하시고 본 강의에서 제공하는 튜토리얼과 동일한 환경을 구성하시는 것을 추천드립니다.
동일하게 설정했는데도 계속 같은 문제가 발생하시면 제 이메일(multicore.it@gmail.com)으로 연락처와 연락 가능한 시간을 남겨주시면 전화드리도록 하겠습니다.
감사합니다.
bhlee420
2022.12.09
안녕하세요 강의 잘 듣고 있습니다
저도 질문자와 똑같은 문제가 있네요. 아나콘다를 쓰지 않고 tensorflow 2.2, numpy 1.19.3 python 3.7.7을 쓰고 있습니다. 같은 에러가 나오는데 .. 또 다른 설정상에 꼭 해줘야 하는 부분이 더 있는건가요 ?
감사합니다
멀티코어
지식공유자2022.12.10
제가 강의를 올린 후 관련 패키지에 많은 변화가 있었습니다.
다음과 같은 3가지 종류 오류가 발생할 수 있습니다.
1번 오류는 protoc 패키지가 변경된 원인으로 발생하고 있습니다.
protobuf 패키지를 삭제하시고 3.8 버전을 설치하시면 문제를 해결할 수 있습니다.
2번 오류는 gym 패키지에서 제공하는 reset함수 문제입니다. 반환 값을 dictionary로 주기 때문에 첫 번째 값을 선택하는 state[0] 코드를 추가하면 문제가 해결됩니다.
3번 오류는 gym 패키지에서 제공하는 step 함수의 반환 값이 하나 더 추가되어 발생하는 문제입니다. 수신측에 none2 변수를 하나 더 추가하면 해결할 수 있습니다.
1. 예제 프로그램 실행 시 다음과 같이 오류 발생
TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
1. Downgrade the protobuf package to 3.20.x or lower.
2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).
1. 해결 방법
pip uninstall protobuf
pip install protobuf==3.8
2. dictionary 처리 해결 방법
state = env.reset()
state = state[0] #코드 추가
3. return값 추가 부분 해결 방법
state_next, reward, done, none, none2 = self.env.step(action)
테스트가 완료되는 데로 github에 신규 코드를 업로드하겠습니다.
감사합니다.
답변 1