ํ๋ก๊ทธ๋๋จธ๋ฅผ ์ํ ๊ฐํํ์ต(์ ์ ์ง๊ฐ)
๋น์ฆ๋์ค ํ์ ์ ํต์ฌ ๊ธฐ์ ๊ฐํํ์ต์ ๊ดํ ๊ฐ์ฅ ์ฝ๊ณ ์์ธํ ๊ฐ์!!! ํ๋ฃจ 2์๊ฐ(2๊ฐ ๊ฐ์) 17์ผ ์์ ๊ฐํํ์ต์ ๋น์ ์ ์์์ ๋ฃ์ด๋๋ฆฝ๋๋ค. ์ง๊ธ ์ด ์๊ฐ๋ถํฐ ๊ฐํํ์ต์ ์ดํดํ๊ธฐ ์ด๋ ค์ด ๋ฌธ์ ๊ฐ ์๋ ๋น์ ์ ์ํ ํ๋ฅญํ ๋๊ตฌ๊ฐ ๋ฉ๋๋ค.
์๊ฐ์ 471๋ช
๋์ด๋ ์ด๊ธ
์๊ฐ๊ธฐํ ๋ฌด์ ํ

๋์ฑ ์น์ ํ๊ณ ์ง๊ด์ ์ธ ์ค๋ช ์ ์ถ๊ฐํ์ต๋๋ค.
์ต์ ์ค๋ฌด ๋๊ตฌ(Stable Baselines3)์ ๊ธฐ๋ฒ(Optuna)์ ์ถ๊ฐํ์ต๋๋ค.
ํ๋ถํ ์ค๋ฌด ์์ ํ๋ก์ ํธ(์์ฐ๋ฐฐ๋ถ์ ๋ต, ์ง์ ์ํ๊ทผ๋ฌด)๋ฅผ ๊ตฌํํ์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค.
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)






