Commit
·
d030d40
1
Parent(s):
464d478
A2C playing CartPole-v1 from https://github.com/sgoodfriend/rl-algo-impls/tree/0760ef7d52b17f30219a27c18ba52c8895025ae3
Browse files- colab_requirements.txt +1 -2
- lambda_labs/lambda_requirements.txt +1 -2
- poetry.lock +1 -258
- pyproject.toml +0 -1
- replay.meta.json +1 -1
- runner/env.py +3 -0
- shared/callbacks/eval_callback.py +2 -2
- wrappers/sync_vector_env_render_compat.py +31 -0
- wrappers/vec_episode_recorder.py +1 -26
colab_requirements.txt
CHANGED
@@ -11,5 +11,4 @@ numexpr >= 2.8.4, < 2.9
|
|
11 |
gym3 >= 0.3.3, < 0.4
|
12 |
glfw >= 1.12.0, < 1.13
|
13 |
procgen >= 0.10.7, < 0.11
|
14 |
-
ipython >= 8.10.0, < 8.11
|
15 |
-
optuna >= 3.1.0, < 3.2
|
|
|
11 |
gym3 >= 0.3.3, < 0.4
|
12 |
glfw >= 1.12.0, < 1.13
|
13 |
procgen >= 0.10.7, < 0.11
|
14 |
+
ipython >= 8.10.0, < 8.11
|
|
lambda_labs/lambda_requirements.txt
CHANGED
@@ -13,5 +13,4 @@ numexpr >= 2.8.4, < 2.9
|
|
13 |
gym3 >= 0.3.3, < 0.4
|
14 |
glfw >= 1.12.0, < 1.13
|
15 |
procgen >= 0.10.7, < 0.11
|
16 |
-
ipython >= 8.10.0, < 8.11
|
17 |
-
optuna >= 3.1.0, < 3.2
|
|
|
13 |
gym3 >= 0.3.3, < 0.4
|
14 |
glfw >= 1.12.0, < 1.13
|
15 |
procgen >= 0.10.7, < 0.11
|
16 |
+
ipython >= 8.10.0, < 8.11
|
|
poetry.lock
CHANGED
@@ -44,25 +44,6 @@ numpy = "*"
|
|
44 |
[package.extras]
|
45 |
test = ["gym", "pytest"]
|
46 |
|
47 |
-
[[package]]
|
48 |
-
name = "alembic"
|
49 |
-
version = "1.9.4"
|
50 |
-
description = "A database migration tool for SQLAlchemy."
|
51 |
-
category = "main"
|
52 |
-
optional = false
|
53 |
-
python-versions = ">=3.7"
|
54 |
-
files = [
|
55 |
-
{file = "alembic-1.9.4-py3-none-any.whl", hash = "sha256:6f1c2207369bf4f49f952057a33bb017fbe5c148c2a773b46906b806ea6e825f"},
|
56 |
-
{file = "alembic-1.9.4.tar.gz", hash = "sha256:4d3bd32ecdbb7bbfb48a9fe9e6d6fd6a831a1b59d03e26e292210237373e7db5"},
|
57 |
-
]
|
58 |
-
|
59 |
-
[package.dependencies]
|
60 |
-
Mako = "*"
|
61 |
-
SQLAlchemy = ">=1.3.0"
|
62 |
-
|
63 |
-
[package.extras]
|
64 |
-
tz = ["python-dateutil"]
|
65 |
-
|
66 |
[[package]]
|
67 |
name = "anyio"
|
68 |
version = "3.6.2"
|
@@ -619,24 +600,6 @@ files = [
|
|
619 |
{file = "cloudpickle-2.2.0.tar.gz", hash = "sha256:3f4219469c55453cfe4737e564b67c2a149109dabf7f242478948b895f61106f"},
|
620 |
]
|
621 |
|
622 |
-
[[package]]
|
623 |
-
name = "cmaes"
|
624 |
-
version = "0.9.1"
|
625 |
-
description = "Lightweight Covariance Matrix Adaptation Evolution Strategy (CMA-ES) implementation for Python 3."
|
626 |
-
category = "main"
|
627 |
-
optional = false
|
628 |
-
python-versions = ">=3.7"
|
629 |
-
files = [
|
630 |
-
{file = "cmaes-0.9.1-py3-none-any.whl", hash = "sha256:6e2930b6a99dd94621bf62966c13d29e6a7f90a909b4e4266010d5f3a7fb74b8"},
|
631 |
-
{file = "cmaes-0.9.1.tar.gz", hash = "sha256:d122f8d46377f643a150c85ffc81c4e33909a34cfdcb522ee7a6fb17ea4f232c"},
|
632 |
-
]
|
633 |
-
|
634 |
-
[package.dependencies]
|
635 |
-
numpy = "*"
|
636 |
-
|
637 |
-
[package.extras]
|
638 |
-
cmawm = ["scipy"]
|
639 |
-
|
640 |
[[package]]
|
641 |
name = "colorama"
|
642 |
version = "0.4.6"
|
@@ -649,24 +612,6 @@ files = [
|
|
649 |
{file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
|
650 |
]
|
651 |
|
652 |
-
[[package]]
|
653 |
-
name = "colorlog"
|
654 |
-
version = "6.7.0"
|
655 |
-
description = "Add colours to the output of Python's logging module."
|
656 |
-
category = "main"
|
657 |
-
optional = false
|
658 |
-
python-versions = ">=3.6"
|
659 |
-
files = [
|
660 |
-
{file = "colorlog-6.7.0-py2.py3-none-any.whl", hash = "sha256:0d33ca236784a1ba3ff9c532d4964126d8a2c44f1f0cb1d2b0728196f512f662"},
|
661 |
-
{file = "colorlog-6.7.0.tar.gz", hash = "sha256:bd94bd21c1e13fac7bd3153f4bc3a7dc0eb0974b8bc2fdf1a989e474f6e582e5"},
|
662 |
-
]
|
663 |
-
|
664 |
-
[package.dependencies]
|
665 |
-
colorama = {version = "*", markers = "sys_platform == \"win32\""}
|
666 |
-
|
667 |
-
[package.extras]
|
668 |
-
development = ["black", "flake8", "mypy", "pytest", "types-colorama"]
|
669 |
-
|
670 |
[[package]]
|
671 |
name = "comm"
|
672 |
version = "0.1.2"
|
@@ -1240,80 +1185,6 @@ requests-oauthlib = ">=0.7.0"
|
|
1240 |
[package.extras]
|
1241 |
tool = ["click (>=6.0.0)"]
|
1242 |
|
1243 |
-
[[package]]
|
1244 |
-
name = "greenlet"
|
1245 |
-
version = "2.0.2"
|
1246 |
-
description = "Lightweight in-process concurrent programming"
|
1247 |
-
category = "main"
|
1248 |
-
optional = false
|
1249 |
-
python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*"
|
1250 |
-
files = [
|
1251 |
-
{file = "greenlet-2.0.2-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:bdfea8c661e80d3c1c99ad7c3ff74e6e87184895bbaca6ee8cc61209f8b9b85d"},
|
1252 |
-
{file = "greenlet-2.0.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:9d14b83fab60d5e8abe587d51c75b252bcc21683f24699ada8fb275d7712f5a9"},
|
1253 |
-
{file = "greenlet-2.0.2-cp27-cp27m-win32.whl", hash = "sha256:6c3acb79b0bfd4fe733dff8bc62695283b57949ebcca05ae5c129eb606ff2d74"},
|
1254 |
-
{file = "greenlet-2.0.2-cp27-cp27m-win_amd64.whl", hash = "sha256:283737e0da3f08bd637b5ad058507e578dd462db259f7f6e4c5c365ba4ee9343"},
|
1255 |
-
{file = "greenlet-2.0.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d27ec7509b9c18b6d73f2f5ede2622441de812e7b1a80bbd446cb0633bd3d5ae"},
|
1256 |
-
{file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:30bcf80dda7f15ac77ba5af2b961bdd9dbc77fd4ac6105cee85b0d0a5fcf74df"},
|
1257 |
-
{file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26fbfce90728d82bc9e6c38ea4d038cba20b7faf8a0ca53a9c07b67318d46088"},
|
1258 |
-
{file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9190f09060ea4debddd24665d6804b995a9c122ef5917ab26e1566dcc712ceeb"},
|
1259 |
-
{file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d75209eed723105f9596807495d58d10b3470fa6732dd6756595e89925ce2470"},
|
1260 |
-
{file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3a51c9751078733d88e013587b108f1b7a1fb106d402fb390740f002b6f6551a"},
|
1261 |
-
{file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:76ae285c8104046b3a7f06b42f29c7b73f77683df18c49ab5af7983994c2dd91"},
|
1262 |
-
{file = "greenlet-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:2d4686f195e32d36b4d7cf2d166857dbd0ee9f3d20ae349b6bf8afc8485b3645"},
|
1263 |
-
{file = "greenlet-2.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c4302695ad8027363e96311df24ee28978162cdcdd2006476c43970b384a244c"},
|
1264 |
-
{file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c48f54ef8e05f04d6eff74b8233f6063cb1ed960243eacc474ee73a2ea8573ca"},
|
1265 |
-
{file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1846f1b999e78e13837c93c778dcfc3365902cfb8d1bdb7dd73ead37059f0d0"},
|
1266 |
-
{file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a06ad5312349fec0ab944664b01d26f8d1f05009566339ac6f63f56589bc1a2"},
|
1267 |
-
{file = "greenlet-2.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:eff4eb9b7eb3e4d0cae3d28c283dc16d9bed6b193c2e1ace3ed86ce48ea8df19"},
|
1268 |
-
{file = "greenlet-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5454276c07d27a740c5892f4907c86327b632127dd9abec42ee62e12427ff7e3"},
|
1269 |
-
{file = "greenlet-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:7cafd1208fdbe93b67c7086876f061f660cfddc44f404279c1585bbf3cdc64c5"},
|
1270 |
-
{file = "greenlet-2.0.2-cp35-cp35m-macosx_10_14_x86_64.whl", hash = "sha256:910841381caba4f744a44bf81bfd573c94e10b3045ee00de0cbf436fe50673a6"},
|
1271 |
-
{file = "greenlet-2.0.2-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:18a7f18b82b52ee85322d7a7874e676f34ab319b9f8cce5de06067384aa8ff43"},
|
1272 |
-
{file = "greenlet-2.0.2-cp35-cp35m-win32.whl", hash = "sha256:03a8f4f3430c3b3ff8d10a2a86028c660355ab637cee9333d63d66b56f09d52a"},
|
1273 |
-
{file = "greenlet-2.0.2-cp35-cp35m-win_amd64.whl", hash = "sha256:4b58adb399c4d61d912c4c331984d60eb66565175cdf4a34792cd9600f21b394"},
|
1274 |
-
{file = "greenlet-2.0.2-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:703f18f3fda276b9a916f0934d2fb6d989bf0b4fb5a64825260eb9bfd52d78f0"},
|
1275 |
-
{file = "greenlet-2.0.2-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:32e5b64b148966d9cccc2c8d35a671409e45f195864560829f395a54226408d3"},
|
1276 |
-
{file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2dd11f291565a81d71dab10b7033395b7a3a5456e637cf997a6f33ebdf06f8db"},
|
1277 |
-
{file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e0f72c9ddb8cd28532185f54cc1453f2c16fb417a08b53a855c4e6a418edd099"},
|
1278 |
-
{file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd021c754b162c0fb55ad5d6b9d960db667faad0fa2ff25bb6e1301b0b6e6a75"},
|
1279 |
-
{file = "greenlet-2.0.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:3c9b12575734155d0c09d6c3e10dbd81665d5c18e1a7c6597df72fd05990c8cf"},
|
1280 |
-
{file = "greenlet-2.0.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b9ec052b06a0524f0e35bd8790686a1da006bd911dd1ef7d50b77bfbad74e292"},
|
1281 |
-
{file = "greenlet-2.0.2-cp36-cp36m-win32.whl", hash = "sha256:dbfcfc0218093a19c252ca8eb9aee3d29cfdcb586df21049b9d777fd32c14fd9"},
|
1282 |
-
{file = "greenlet-2.0.2-cp36-cp36m-win_amd64.whl", hash = "sha256:9f35ec95538f50292f6d8f2c9c9f8a3c6540bbfec21c9e5b4b751e0a7c20864f"},
|
1283 |
-
{file = "greenlet-2.0.2-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:d5508f0b173e6aa47273bdc0a0b5ba055b59662ba7c7ee5119528f466585526b"},
|
1284 |
-
{file = "greenlet-2.0.2-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:f82d4d717d8ef19188687aa32b8363e96062911e63ba22a0cff7802a8e58e5f1"},
|
1285 |
-
{file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9c59a2120b55788e800d82dfa99b9e156ff8f2227f07c5e3012a45a399620b7"},
|
1286 |
-
{file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2780572ec463d44c1d3ae850239508dbeb9fed38e294c68d19a24d925d9223ca"},
|
1287 |
-
{file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:937e9020b514ceedb9c830c55d5c9872abc90f4b5862f89c0887033ae33c6f73"},
|
1288 |
-
{file = "greenlet-2.0.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:36abbf031e1c0f79dd5d596bfaf8e921c41df2bdf54ee1eed921ce1f52999a86"},
|
1289 |
-
{file = "greenlet-2.0.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:18e98fb3de7dba1c0a852731c3070cf022d14f0d68b4c87a19cc1016f3bb8b33"},
|
1290 |
-
{file = "greenlet-2.0.2-cp37-cp37m-win32.whl", hash = "sha256:3f6ea9bd35eb450837a3d80e77b517ea5bc56b4647f5502cd28de13675ee12f7"},
|
1291 |
-
{file = "greenlet-2.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:7492e2b7bd7c9b9916388d9df23fa49d9b88ac0640db0a5b4ecc2b653bf451e3"},
|
1292 |
-
{file = "greenlet-2.0.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:b864ba53912b6c3ab6bcb2beb19f19edd01a6bfcbdfe1f37ddd1778abfe75a30"},
|
1293 |
-
{file = "greenlet-2.0.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:ba2956617f1c42598a308a84c6cf021a90ff3862eddafd20c3333d50f0edb45b"},
|
1294 |
-
{file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc3a569657468b6f3fb60587e48356fe512c1754ca05a564f11366ac9e306526"},
|
1295 |
-
{file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8eab883b3b2a38cc1e050819ef06a7e6344d4a990d24d45bc6f2cf959045a45b"},
|
1296 |
-
{file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:acd2162a36d3de67ee896c43effcd5ee3de247eb00354db411feb025aa319857"},
|
1297 |
-
{file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0bf60faf0bc2468089bdc5edd10555bab6e85152191df713e2ab1fcc86382b5a"},
|
1298 |
-
{file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b0ef99cdbe2b682b9ccbb964743a6aca37905fda5e0452e5ee239b1654d37f2a"},
|
1299 |
-
{file = "greenlet-2.0.2-cp38-cp38-win32.whl", hash = "sha256:b80f600eddddce72320dbbc8e3784d16bd3fb7b517e82476d8da921f27d4b249"},
|
1300 |
-
{file = "greenlet-2.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:4d2e11331fc0c02b6e84b0d28ece3a36e0548ee1a1ce9ddde03752d9b79bba40"},
|
1301 |
-
{file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:88d9ab96491d38a5ab7c56dd7a3cc37d83336ecc564e4e8816dbed12e5aaefc8"},
|
1302 |
-
{file = "greenlet-2.0.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:561091a7be172ab497a3527602d467e2b3fbe75f9e783d8b8ce403fa414f71a6"},
|
1303 |
-
{file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:971ce5e14dc5e73715755d0ca2975ac88cfdaefcaab078a284fea6cfabf866df"},
|
1304 |
-
{file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be4ed120b52ae4d974aa40215fcdfde9194d63541c7ded40ee12eb4dda57b76b"},
|
1305 |
-
{file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94c817e84245513926588caf1152e3b559ff794d505555211ca041f032abbb6b"},
|
1306 |
-
{file = "greenlet-2.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1a819eef4b0e0b96bb0d98d797bef17dc1b4a10e8d7446be32d1da33e095dbb8"},
|
1307 |
-
{file = "greenlet-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7efde645ca1cc441d6dc4b48c0f7101e8d86b54c8530141b09fd31cef5149ec9"},
|
1308 |
-
{file = "greenlet-2.0.2-cp39-cp39-win32.whl", hash = "sha256:ea9872c80c132f4663822dd2a08d404073a5a9b5ba6155bea72fb2a79d1093b5"},
|
1309 |
-
{file = "greenlet-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:db1a39669102a1d8d12b57de2bb7e2ec9066a6f2b3da35ae511ff93b01b5d564"},
|
1310 |
-
{file = "greenlet-2.0.2.tar.gz", hash = "sha256:e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0"},
|
1311 |
-
]
|
1312 |
-
|
1313 |
-
[package.extras]
|
1314 |
-
docs = ["Sphinx", "docutils (<0.18)"]
|
1315 |
-
test = ["objgraph", "psutil"]
|
1316 |
-
|
1317 |
[[package]]
|
1318 |
name = "grpcio"
|
1319 |
version = "1.51.1"
|
@@ -2114,26 +1985,6 @@ files = [
|
|
2114 |
{file = "lockfile-0.12.2.tar.gz", hash = "sha256:6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799"},
|
2115 |
]
|
2116 |
|
2117 |
-
[[package]]
|
2118 |
-
name = "mako"
|
2119 |
-
version = "1.2.4"
|
2120 |
-
description = "A super-fast templating language that borrows the best ideas from the existing templating languages."
|
2121 |
-
category = "main"
|
2122 |
-
optional = false
|
2123 |
-
python-versions = ">=3.7"
|
2124 |
-
files = [
|
2125 |
-
{file = "Mako-1.2.4-py3-none-any.whl", hash = "sha256:c97c79c018b9165ac9922ae4f32da095ffd3c4e6872b45eded42926deea46818"},
|
2126 |
-
{file = "Mako-1.2.4.tar.gz", hash = "sha256:d60a3903dc3bb01a18ad6a89cdbe2e4eadc69c0bc8ef1e3773ba53d44c3f7a34"},
|
2127 |
-
]
|
2128 |
-
|
2129 |
-
[package.dependencies]
|
2130 |
-
MarkupSafe = ">=0.9.2"
|
2131 |
-
|
2132 |
-
[package.extras]
|
2133 |
-
babel = ["Babel"]
|
2134 |
-
lingua = ["lingua"]
|
2135 |
-
testing = ["pytest"]
|
2136 |
-
|
2137 |
[[package]]
|
2138 |
name = "markdown"
|
2139 |
version = "3.4.1"
|
@@ -2798,36 +2649,6 @@ numpy = [
|
|
2798 |
{version = ">=1.17.3", markers = "python_version >= \"3.8\""},
|
2799 |
]
|
2800 |
|
2801 |
-
[[package]]
|
2802 |
-
name = "optuna"
|
2803 |
-
version = "3.1.0"
|
2804 |
-
description = "A hyperparameter optimization framework"
|
2805 |
-
category = "main"
|
2806 |
-
optional = false
|
2807 |
-
python-versions = ">=3.7"
|
2808 |
-
files = [
|
2809 |
-
{file = "optuna-3.1.0-py3-none-any.whl", hash = "sha256:f79e2c2747bbf2779b1ab21de0ff553218159c36695326e8d6f2889db7d5c2a0"},
|
2810 |
-
{file = "optuna-3.1.0.tar.gz", hash = "sha256:96c7c92860c8692d3aa569d749e72b121422cb4af0ed3ad4bfbc445b61416919"},
|
2811 |
-
]
|
2812 |
-
|
2813 |
-
[package.dependencies]
|
2814 |
-
alembic = ">=1.5.0"
|
2815 |
-
cmaes = ">=0.9.1"
|
2816 |
-
colorlog = "*"
|
2817 |
-
numpy = "*"
|
2818 |
-
packaging = ">=20.0"
|
2819 |
-
PyYAML = "*"
|
2820 |
-
sqlalchemy = ">=1.3.0"
|
2821 |
-
tqdm = "*"
|
2822 |
-
|
2823 |
-
[package.extras]
|
2824 |
-
benchmark = ["asv (>=0.5.0)", "botorch", "cma", "scikit-optimize", "virtualenv"]
|
2825 |
-
checking = ["black", "blackdoc", "hacking", "isort", "mypy", "types-PyYAML", "types-redis", "types-setuptools", "typing-extensions (>=3.10.0.0)"]
|
2826 |
-
document = ["cma", "distributed", "fvcore", "lightgbm", "matplotlib (!=3.6.0)", "mlflow", "pandas", "pillow", "plotly (>=4.9.0)", "scikit-learn", "scikit-optimize", "sphinx (<6)", "sphinx-copybutton", "sphinx-gallery", "sphinx-plotly-directive", "sphinx-rtd-theme", "torch (==1.11.0)", "torchaudio (==0.11.0)", "torchvision (==0.12.0)"]
|
2827 |
-
integration = ["allennlp (>=2.2.0)", "botorch (>=0.4.0,<0.8.0)", "cached-path (<=1.1.2)", "catalyst (>=21.3)", "catboost (>=0.26)", "chainer (>=5.0.0)", "cma", "distributed", "fastai", "lightgbm", "mlflow", "mpi4py", "mxnet", "pandas", "pytorch-ignite", "pytorch-lightning (>=1.5.0)", "scikit-learn (>=0.24.2)", "scikit-optimize", "shap", "skorch", "tensorflow", "tensorflow-datasets", "torch (==1.11.0)", "torchaudio (==0.11.0)", "torchvision (==0.12.0)", "wandb", "xgboost"]
|
2828 |
-
optional = ["matplotlib (!=3.6.0)", "pandas", "plotly (>=4.9.0)", "redis", "scikit-learn (>=0.24.2)"]
|
2829 |
-
test = ["codecov", "fakeredis[lua]", "kaleido", "pytest", "scipy (>=1.9.2)"]
|
2830 |
-
|
2831 |
[[package]]
|
2832 |
name = "packaging"
|
2833 |
version = "23.0"
|
@@ -4108,84 +3929,6 @@ files = [
|
|
4108 |
{file = "soupsieve-2.3.2.post1.tar.gz", hash = "sha256:fc53893b3da2c33de295667a0e19f078c14bf86544af307354de5fcf12a3f30d"},
|
4109 |
]
|
4110 |
|
4111 |
-
[[package]]
|
4112 |
-
name = "sqlalchemy"
|
4113 |
-
version = "2.0.4"
|
4114 |
-
description = "Database Abstraction Library"
|
4115 |
-
category = "main"
|
4116 |
-
optional = false
|
4117 |
-
python-versions = ">=3.7"
|
4118 |
-
files = [
|
4119 |
-
{file = "SQLAlchemy-2.0.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b67d6e626caa571fb53accaac2fba003ef4f7317cb3481e9ab99dad6e89a70d6"},
|
4120 |
-
{file = "SQLAlchemy-2.0.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b01dce097cf6f145da131a53d4cce7f42e0bfa9ae161dd171a423f7970d296d0"},
|
4121 |
-
{file = "SQLAlchemy-2.0.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:738c80705e11c1268827dbe22c01162a9cdc98fc6f7901b429a1459db2593060"},
|
4122 |
-
{file = "SQLAlchemy-2.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6363697c938b9a13e07f1bc2cd433502a7aa07efd55b946b31d25b9449890621"},
|
4123 |
-
{file = "SQLAlchemy-2.0.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:a42e6831e82dfa6d16b45f0c98c69e7b0defc64d76213173456355034450c414"},
|
4124 |
-
{file = "SQLAlchemy-2.0.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:011ef3c33f30bae5637c575f30647e0add98686642d237f0c3a1e3d9b35747fa"},
|
4125 |
-
{file = "SQLAlchemy-2.0.4-cp310-cp310-win32.whl", hash = "sha256:c1e8edc49b32483cd5d2d015f343e16be7dfab89f4aaf66b0fa6827ab356880d"},
|
4126 |
-
{file = "SQLAlchemy-2.0.4-cp310-cp310-win_amd64.whl", hash = "sha256:77a380bf8721b416782c763e0ff66f80f3b05aee83db33ddfc0eac20bcb6791f"},
|
4127 |
-
{file = "SQLAlchemy-2.0.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2a2f9120eb32190bdba31d1022181ef08f257aed4f984f3368aa4e838de72bc0"},
|
4128 |
-
{file = "SQLAlchemy-2.0.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:679b9bd10bb32b8d3befed4aad4356799b6ec1bdddc0f930a79e41ba5b084124"},
|
4129 |
-
{file = "SQLAlchemy-2.0.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:582053571125895d008d4b8d9687d12d4bd209c076cdbab3504da307e2a0a2bd"},
|
4130 |
-
{file = "SQLAlchemy-2.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c82395e2925639e6d320592943608070678e7157bd1db2672a63be9c7889434"},
|
4131 |
-
{file = "SQLAlchemy-2.0.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:25e4e54575f9d2af1eab82d3a470fca27062191c48ee57b6386fe09a3c0a6a33"},
|
4132 |
-
{file = "SQLAlchemy-2.0.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9946ee503962859f1a9e1ad17dff0859269b0cb453686747fe87f00b0e030b34"},
|
4133 |
-
{file = "SQLAlchemy-2.0.4-cp311-cp311-win32.whl", hash = "sha256:c621f05859caed5c0aab032888a3d3bde2cae3988ca151113cbecf262adad976"},
|
4134 |
-
{file = "SQLAlchemy-2.0.4-cp311-cp311-win_amd64.whl", hash = "sha256:662a79e80f3e9fe33b7861c19fedf3d8389fab2413c04bba787e3f1139c22188"},
|
4135 |
-
{file = "SQLAlchemy-2.0.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3f927340b37fe65ec42e19af7ce15260a73e11c6b456febb59009bfdfec29a35"},
|
4136 |
-
{file = "SQLAlchemy-2.0.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67901b91bf5821482fcbe9da988cb16897809624ddf0fde339cd62365cc50032"},
|
4137 |
-
{file = "SQLAlchemy-2.0.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1644c603558590f465b3fa16e4557d87d3962bc2c81fd7ea85b582ecf4676b31"},
|
4138 |
-
{file = "SQLAlchemy-2.0.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:9a7ecaf90fe9ec8e45c86828f4f183564b33c9514e08667ca59e526fea63893a"},
|
4139 |
-
{file = "SQLAlchemy-2.0.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8a88b32ce5b69d18507ffc9f10401833934ebc353c7b30d1e056023c64f0a736"},
|
4140 |
-
{file = "SQLAlchemy-2.0.4-cp37-cp37m-win32.whl", hash = "sha256:2267c004e78e291bba0dc766a9711c389649cf3e662cd46eec2bc2c238c637bd"},
|
4141 |
-
{file = "SQLAlchemy-2.0.4-cp37-cp37m-win_amd64.whl", hash = "sha256:59cf0cdb29baec4e074c7520d7226646a8a8f856b87d8300f3e4494901d55235"},
|
4142 |
-
{file = "SQLAlchemy-2.0.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:dd801375f19a6e1f021dabd8b1714f2fdb91cbc835cd13b5dd0bd7e9860392d7"},
|
4143 |
-
{file = "SQLAlchemy-2.0.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d8efdda920988bcade542f53a2890751ff680474d548f32df919a35a21404e3f"},
|
4144 |
-
{file = "SQLAlchemy-2.0.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:918c2b553e3c78268b187f70983c9bc6f91e451a4f934827e9c919e03d258bd7"},
|
4145 |
-
{file = "SQLAlchemy-2.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77d05773d5c79f2d3371d81697d54ee1b2c32085ad434ce9de4482e457ecb018"},
|
4146 |
-
{file = "SQLAlchemy-2.0.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:fdb2686eb01f670cdc6c43f092e333ff08c1cf0b646da5256c1237dc4ceef4ae"},
|
4147 |
-
{file = "SQLAlchemy-2.0.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8ff0a7c669ec7cdb899eae7e622211c2dd8725b82655db2b41740d39e3cda466"},
|
4148 |
-
{file = "SQLAlchemy-2.0.4-cp38-cp38-win32.whl", hash = "sha256:57dcd9eed52413f7270b22797aa83c71b698db153d1541c1e83d45ecdf8e95e7"},
|
4149 |
-
{file = "SQLAlchemy-2.0.4-cp38-cp38-win_amd64.whl", hash = "sha256:54aa9f40d88728dd058e951eeb5ecc55241831ba4011e60c641738c1da0146b7"},
|
4150 |
-
{file = "SQLAlchemy-2.0.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:817aab80f7e8fe581696dae7aaeb2ceb0b7ea70ad03c95483c9115970d2a9b00"},
|
4151 |
-
{file = "SQLAlchemy-2.0.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:dc7b9f55c2f72c13b2328b8a870ff585c993ba1b5c155ece5c9d3216fa4b18f6"},
|
4152 |
-
{file = "SQLAlchemy-2.0.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f696828784ab2c07b127bfd2f2d513f47ec58924c29cff5b19806ac37acee31c"},
|
4153 |
-
{file = "SQLAlchemy-2.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce54965a94673a0ebda25e7c3a05bf1aa74fd78cc452a1a710b704bf73fb8402"},
|
4154 |
-
{file = "SQLAlchemy-2.0.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f342057422d6bcfdd4996e34cd5c7f78f7e500112f64b113f334cdfc6a0c593d"},
|
4155 |
-
{file = "SQLAlchemy-2.0.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b5deafb4901618b3f98e8df7099cd11edd0d1e6856912647e28968b803de0dae"},
|
4156 |
-
{file = "SQLAlchemy-2.0.4-cp39-cp39-win32.whl", hash = "sha256:81f1ea264278fcbe113b9a5840f13a356cb0186e55b52168334124f1cd1bc495"},
|
4157 |
-
{file = "SQLAlchemy-2.0.4-cp39-cp39-win_amd64.whl", hash = "sha256:954f1ad73b78ea5ba5a35c89c4a5dfd0f3a06c17926503de19510eb9b3857bde"},
|
4158 |
-
{file = "SQLAlchemy-2.0.4-py3-none-any.whl", hash = "sha256:0adca8a3ca77234a142c5afed29322fb501921f13d1d5e9fa4253450d786c160"},
|
4159 |
-
{file = "SQLAlchemy-2.0.4.tar.gz", hash = "sha256:95a18e1a6af2114dbd9ee4f168ad33070d6317e11bafa28d983cc7b585fe900b"},
|
4160 |
-
]
|
4161 |
-
|
4162 |
-
[package.dependencies]
|
4163 |
-
greenlet = {version = "!=0.4.17", markers = "platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\""}
|
4164 |
-
typing-extensions = ">=4.2.0"
|
4165 |
-
|
4166 |
-
[package.extras]
|
4167 |
-
aiomysql = ["aiomysql", "greenlet (!=0.4.17)"]
|
4168 |
-
aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing-extensions (!=3.10.0.1)"]
|
4169 |
-
asyncio = ["greenlet (!=0.4.17)"]
|
4170 |
-
asyncmy = ["asyncmy (>=0.2.3,!=0.2.4,!=0.2.6)", "greenlet (!=0.4.17)"]
|
4171 |
-
mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2,!=1.1.5)"]
|
4172 |
-
mssql = ["pyodbc"]
|
4173 |
-
mssql-pymssql = ["pymssql"]
|
4174 |
-
mssql-pyodbc = ["pyodbc"]
|
4175 |
-
mypy = ["mypy (>=0.910)"]
|
4176 |
-
mysql = ["mysqlclient (>=1.4.0)"]
|
4177 |
-
mysql-connector = ["mysql-connector-python"]
|
4178 |
-
oracle = ["cx-oracle (>=7)"]
|
4179 |
-
oracle-oracledb = ["oracledb (>=1.0.1)"]
|
4180 |
-
postgresql = ["psycopg2 (>=2.7)"]
|
4181 |
-
postgresql-asyncpg = ["asyncpg", "greenlet (!=0.4.17)"]
|
4182 |
-
postgresql-pg8000 = ["pg8000 (>=1.29.1)"]
|
4183 |
-
postgresql-psycopg = ["psycopg (>=3.0.7)"]
|
4184 |
-
postgresql-psycopg2binary = ["psycopg2-binary"]
|
4185 |
-
postgresql-psycopg2cffi = ["psycopg2cffi"]
|
4186 |
-
pymysql = ["pymysql"]
|
4187 |
-
sqlcipher = ["sqlcipher3-binary"]
|
4188 |
-
|
4189 |
[[package]]
|
4190 |
name = "stable-baselines3"
|
4191 |
version = "1.7.0"
|
@@ -4720,4 +4463,4 @@ testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools"
|
|
4720 |
[metadata]
|
4721 |
lock-version = "2.0"
|
4722 |
python-versions = "~3.10"
|
4723 |
-
content-hash = "
|
|
|
44 |
[package.extras]
|
45 |
test = ["gym", "pytest"]
|
46 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
[[package]]
|
48 |
name = "anyio"
|
49 |
version = "3.6.2"
|
|
|
600 |
{file = "cloudpickle-2.2.0.tar.gz", hash = "sha256:3f4219469c55453cfe4737e564b67c2a149109dabf7f242478948b895f61106f"},
|
601 |
]
|
602 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
603 |
[[package]]
|
604 |
name = "colorama"
|
605 |
version = "0.4.6"
|
|
|
612 |
{file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
|
613 |
]
|
614 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
615 |
[[package]]
|
616 |
name = "comm"
|
617 |
version = "0.1.2"
|
|
|
1185 |
[package.extras]
|
1186 |
tool = ["click (>=6.0.0)"]
|
1187 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1188 |
[[package]]
|
1189 |
name = "grpcio"
|
1190 |
version = "1.51.1"
|
|
|
1985 |
{file = "lockfile-0.12.2.tar.gz", hash = "sha256:6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799"},
|
1986 |
]
|
1987 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1988 |
[[package]]
|
1989 |
name = "markdown"
|
1990 |
version = "3.4.1"
|
|
|
2649 |
{version = ">=1.17.3", markers = "python_version >= \"3.8\""},
|
2650 |
]
|
2651 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2652 |
[[package]]
|
2653 |
name = "packaging"
|
2654 |
version = "23.0"
|
|
|
3929 |
{file = "soupsieve-2.3.2.post1.tar.gz", hash = "sha256:fc53893b3da2c33de295667a0e19f078c14bf86544af307354de5fcf12a3f30d"},
|
3930 |
]
|
3931 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3932 |
[[package]]
|
3933 |
name = "stable-baselines3"
|
3934 |
version = "1.7.0"
|
|
|
4463 |
[metadata]
|
4464 |
lock-version = "2.0"
|
4465 |
python-versions = "~3.10"
|
4466 |
+
content-hash = "ab3cf6f3768a3f2d608f049b0ee69c9224dd1530f0bd392a4116f23597aaf34a"
|
pyproject.toml
CHANGED
@@ -29,7 +29,6 @@ numexpr = "^2.8.4"
|
|
29 |
gym3 = "^0.3.3"
|
30 |
glfw = "1.12.0"
|
31 |
ipython = "^8.10.0"
|
32 |
-
optuna = "^3.1.0"
|
33 |
|
34 |
[build-system]
|
35 |
requires = ["poetry-core"]
|
|
|
29 |
gym3 = "^0.3.3"
|
30 |
glfw = "1.12.0"
|
31 |
ipython = "^8.10.0"
|
|
|
32 |
|
33 |
[build-system]
|
34 |
requires = ["poetry-core"]
|
replay.meta.json
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"content_type": "video/mp4", "encoder_version": {"backend": "ffmpeg", "version": "b'ffmpeg version 5.1.2 Copyright (c) 2000-2022 the FFmpeg developers\\nbuilt with clang version 14.0.6\\nconfiguration: --prefix=/Users/runner/miniforge3/conda-bld/ffmpeg_1671040513231/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl --cc=arm64-apple-darwin20.0.0-clang --cxx=arm64-apple-darwin20.0.0-clang++ --nm=arm64-apple-darwin20.0.0-nm --ar=arm64-apple-darwin20.0.0-ar --disable-doc --disable-openssl --enable-demuxer=dash --enable-hardcoded-tables --enable-libfreetype --enable-libfontconfig --enable-libopenh264 --enable-cross-compile --arch=arm64 --target-os=darwin --cross-prefix=arm64-apple-darwin20.0.0- --host-cc=/Users/runner/miniforge3/conda-bld/ffmpeg_1671040513231/_build_env/bin/x86_64-apple-darwin13.4.0-clang --enable-neon --enable-gnutls --enable-libmp3lame --enable-libvpx --enable-pthreads --enable-gpl --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvtav1 --enable-libxml2 --enable-pic --enable-shared --disable-static --enable-version3 --enable-zlib --pkg-config=/Users/runner/miniforge3/conda-bld/ffmpeg_1671040513231/_build_env/bin/pkg-config\\nlibavutil 57. 28.100 / 57. 28.100\\nlibavcodec 59. 37.100 / 59. 37.100\\nlibavformat 59. 27.100 / 59. 27.100\\nlibavdevice 59. 7.100 / 59. 7.100\\nlibavfilter 8. 44.100 / 8. 44.100\\nlibswscale 6. 7.100 / 6. 7.100\\nlibswresample 4. 7.100 / 4. 7.100\\nlibpostproc 56. 6.100 / 56. 6.100\\n'", "cmdline": ["ffmpeg", "-nostats", "-loglevel", "error", "-y", "-f", "rawvideo", "-s:v", "1200x800", "-pix_fmt", "rgb24", "-framerate", "50", "-i", "-", "-vf", "scale=trunc(iw/2)*2:trunc(ih/2)*2", "-vcodec", "libx264", "-pix_fmt", "yuv420p", "-r", "50", "/var/folders/9g/my5557_91xddp6lx00nkzly80000gn/T/
|
|
|
1 |
+
{"content_type": "video/mp4", "encoder_version": {"backend": "ffmpeg", "version": "b'ffmpeg version 5.1.2 Copyright (c) 2000-2022 the FFmpeg developers\\nbuilt with clang version 14.0.6\\nconfiguration: --prefix=/Users/runner/miniforge3/conda-bld/ffmpeg_1671040513231/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl --cc=arm64-apple-darwin20.0.0-clang --cxx=arm64-apple-darwin20.0.0-clang++ --nm=arm64-apple-darwin20.0.0-nm --ar=arm64-apple-darwin20.0.0-ar --disable-doc --disable-openssl --enable-demuxer=dash --enable-hardcoded-tables --enable-libfreetype --enable-libfontconfig --enable-libopenh264 --enable-cross-compile --arch=arm64 --target-os=darwin --cross-prefix=arm64-apple-darwin20.0.0- --host-cc=/Users/runner/miniforge3/conda-bld/ffmpeg_1671040513231/_build_env/bin/x86_64-apple-darwin13.4.0-clang --enable-neon --enable-gnutls --enable-libmp3lame --enable-libvpx --enable-pthreads --enable-gpl --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvtav1 --enable-libxml2 --enable-pic --enable-shared --disable-static --enable-version3 --enable-zlib --pkg-config=/Users/runner/miniforge3/conda-bld/ffmpeg_1671040513231/_build_env/bin/pkg-config\\nlibavutil 57. 28.100 / 57. 28.100\\nlibavcodec 59. 37.100 / 59. 37.100\\nlibavformat 59. 27.100 / 59. 27.100\\nlibavdevice 59. 7.100 / 59. 7.100\\nlibavfilter 8. 44.100 / 8. 44.100\\nlibswscale 6. 7.100 / 6. 7.100\\nlibswresample 4. 7.100 / 4. 7.100\\nlibpostproc 56. 6.100 / 56. 6.100\\n'", "cmdline": ["ffmpeg", "-nostats", "-loglevel", "error", "-y", "-f", "rawvideo", "-s:v", "1200x800", "-pix_fmt", "rgb24", "-framerate", "50", "-i", "-", "-vf", "scale=trunc(iw/2)*2:trunc(ih/2)*2", "-vcodec", "libx264", "-pix_fmt", "yuv420p", "-r", "50", "/var/folders/9g/my5557_91xddp6lx00nkzly80000gn/T/tmpgtamjs9u/a2c-CartPole-v1/replay.mp4"]}, "episode": {"r": 500.0, "l": 500, "t": 5.530564}}
|
runner/env.py
CHANGED
@@ -26,6 +26,7 @@ from wrappers.initial_step_truncate_wrapper import InitialStepTruncateWrapper
|
|
26 |
from wrappers.is_vector_env import IsVectorEnv
|
27 |
from wrappers.noop_env_seed import NoopEnvSeed
|
28 |
from wrappers.normalize import NormalizeObservation, NormalizeReward
|
|
|
29 |
from wrappers.transpose_image_observation import TransposeImageObservation
|
30 |
from wrappers.vectorable_wrapper import VecEnv
|
31 |
from wrappers.video_compat_wrapper import VideoCompatWrapper
|
@@ -180,6 +181,8 @@ def _make_vec_env(
|
|
180 |
else:
|
181 |
raise ValueError(f"env_type {env_type} unsupported")
|
182 |
envs = VecEnvClass([make(i) for i in range(n_envs)])
|
|
|
|
|
183 |
if training:
|
184 |
assert tb_writer
|
185 |
envs = EpisodeStatsWriter(
|
|
|
26 |
from wrappers.is_vector_env import IsVectorEnv
|
27 |
from wrappers.noop_env_seed import NoopEnvSeed
|
28 |
from wrappers.normalize import NormalizeObservation, NormalizeReward
|
29 |
+
from wrappers.sync_vector_env_render_compat import SyncVectorEnvRenderCompat
|
30 |
from wrappers.transpose_image_observation import TransposeImageObservation
|
31 |
from wrappers.vectorable_wrapper import VecEnv
|
32 |
from wrappers.video_compat_wrapper import VideoCompatWrapper
|
|
|
181 |
else:
|
182 |
raise ValueError(f"env_type {env_type} unsupported")
|
183 |
envs = VecEnvClass([make(i) for i in range(n_envs)])
|
184 |
+
if env_type == "gymvec" and vec_env_class == "sync":
|
185 |
+
envs = SyncVectorEnvRenderCompat(envs)
|
186 |
if training:
|
187 |
assert tb_writer
|
188 |
envs = EpisodeStatsWriter(
|
shared/callbacks/eval_callback.py
CHANGED
@@ -75,7 +75,9 @@ def evaluate(
|
|
75 |
print_returns: bool = True,
|
76 |
ignore_first_episode: bool = False,
|
77 |
) -> EpisodesStats:
|
|
|
78 |
policy.eval()
|
|
|
79 |
episodes = EvaluateAccumulator(
|
80 |
env.num_envs, n_episodes, print_returns, ignore_first_episode
|
81 |
)
|
@@ -137,7 +139,6 @@ class EvalCallback(Callback):
|
|
137 |
def on_step(self, timesteps_elapsed: int = 1) -> bool:
|
138 |
super().on_step(timesteps_elapsed)
|
139 |
if self.timesteps_elapsed // self.step_freq >= len(self.stats):
|
140 |
-
self.policy.sync_normalization(self.env)
|
141 |
self.evaluate()
|
142 |
return True
|
143 |
|
@@ -176,7 +177,6 @@ class EvalCallback(Callback):
|
|
176 |
)
|
177 |
if strictly_better and self.record_best_videos:
|
178 |
assert self.video_env and self.best_video_dir
|
179 |
-
self.policy.sync_normalization(self.video_env)
|
180 |
self.best_video_base_path = os.path.join(
|
181 |
self.best_video_dir, str(self.timesteps_elapsed)
|
182 |
)
|
|
|
75 |
print_returns: bool = True,
|
76 |
ignore_first_episode: bool = False,
|
77 |
) -> EpisodesStats:
|
78 |
+
policy.sync_normalization(env)
|
79 |
policy.eval()
|
80 |
+
|
81 |
episodes = EvaluateAccumulator(
|
82 |
env.num_envs, n_episodes, print_returns, ignore_first_episode
|
83 |
)
|
|
|
139 |
def on_step(self, timesteps_elapsed: int = 1) -> bool:
|
140 |
super().on_step(timesteps_elapsed)
|
141 |
if self.timesteps_elapsed // self.step_freq >= len(self.stats):
|
|
|
142 |
self.evaluate()
|
143 |
return True
|
144 |
|
|
|
177 |
)
|
178 |
if strictly_better and self.record_best_videos:
|
179 |
assert self.video_env and self.best_video_dir
|
|
|
180 |
self.best_video_base_path = os.path.join(
|
181 |
self.best_video_dir, str(self.timesteps_elapsed)
|
182 |
)
|
wrappers/sync_vector_env_render_compat.py
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import numpy as np
|
2 |
+
|
3 |
+
from gym.vector.sync_vector_env import SyncVectorEnv
|
4 |
+
from stable_baselines3.common.vec_env.base_vec_env import tile_images
|
5 |
+
from typing import Optional
|
6 |
+
|
7 |
+
from wrappers.vectorable_wrapper import (
|
8 |
+
VecotarableWrapper,
|
9 |
+
)
|
10 |
+
|
11 |
+
|
12 |
+
class SyncVectorEnvRenderCompat(VecotarableWrapper):
|
13 |
+
def __init__(self, env) -> None:
|
14 |
+
super().__init__(env)
|
15 |
+
|
16 |
+
def render(self, mode: str = "human") -> Optional[np.ndarray]:
|
17 |
+
base_env = self.env.unwrapped
|
18 |
+
if isinstance(base_env, SyncVectorEnv):
|
19 |
+
imgs = [env.render(mode="rgb_array") for env in base_env.envs]
|
20 |
+
bigimg = tile_images(imgs)
|
21 |
+
if mode == "human":
|
22 |
+
import cv2
|
23 |
+
|
24 |
+
cv2.imshow("vecenv", bigimg[:, :, ::-1])
|
25 |
+
cv2.waitKey(1)
|
26 |
+
elif mode == "rgb_array":
|
27 |
+
return bigimg
|
28 |
+
else:
|
29 |
+
raise NotImplemented(f"Render mode {mode} is not supported")
|
30 |
+
else:
|
31 |
+
return self.env.render(mode=mode)
|
wrappers/vec_episode_recorder.py
CHANGED
@@ -1,9 +1,6 @@
|
|
1 |
import numpy as np
|
2 |
|
3 |
-
from gym.vector.sync_vector_env import SyncVectorEnv
|
4 |
from gym.wrappers.monitoring.video_recorder import VideoRecorder
|
5 |
-
from stable_baselines3.common.vec_env.base_vec_env import tile_images
|
6 |
-
from typing import Optional
|
7 |
|
8 |
from wrappers.vectorable_wrapper import (
|
9 |
VecotarableWrapper,
|
@@ -45,7 +42,7 @@ class VecEpisodeRecorder(VecotarableWrapper):
|
|
45 |
self._close_video_recorder()
|
46 |
|
47 |
self.video_recorder = VideoRecorder(
|
48 |
-
|
49 |
base_path=self.base_path,
|
50 |
)
|
51 |
|
@@ -56,25 +53,3 @@ class VecEpisodeRecorder(VecotarableWrapper):
|
|
56 |
if self.video_recorder:
|
57 |
self.video_recorder.close()
|
58 |
self.video_recorder = None
|
59 |
-
|
60 |
-
|
61 |
-
class SyncVectorEnvRenderCompat(VecotarableWrapper):
|
62 |
-
def __init__(self, env) -> None:
|
63 |
-
super().__init__(env)
|
64 |
-
|
65 |
-
def render(self, mode: str = "human") -> Optional[np.ndarray]:
|
66 |
-
base_env = self.env.unwrapped
|
67 |
-
if isinstance(base_env, SyncVectorEnv):
|
68 |
-
imgs = [env.render(mode="rgb_array") for env in base_env.envs]
|
69 |
-
bigimg = tile_images(imgs)
|
70 |
-
if mode == "humnan":
|
71 |
-
import cv2
|
72 |
-
|
73 |
-
cv2.imshow("vecenv", bigimg[:, :, ::-1])
|
74 |
-
cv2.waitKey(1)
|
75 |
-
elif mode == "rgb_array":
|
76 |
-
return bigimg
|
77 |
-
else:
|
78 |
-
raise NotImplemented(f"Render mode {mode} is not supported")
|
79 |
-
else:
|
80 |
-
return self.env.render(mode=mode)
|
|
|
1 |
import numpy as np
|
2 |
|
|
|
3 |
from gym.wrappers.monitoring.video_recorder import VideoRecorder
|
|
|
|
|
4 |
|
5 |
from wrappers.vectorable_wrapper import (
|
6 |
VecotarableWrapper,
|
|
|
42 |
self._close_video_recorder()
|
43 |
|
44 |
self.video_recorder = VideoRecorder(
|
45 |
+
self.env,
|
46 |
base_path=self.base_path,
|
47 |
)
|
48 |
|
|
|
53 |
if self.video_recorder:
|
54 |
self.video_recorder.close()
|
55 |
self.video_recorder = None
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|