-
Notifications
You must be signed in to change notification settings - Fork 0
/
environment.yml
45 lines (44 loc) · 2.4 KB
/
environment.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
name: dreamerv3-animalai
channels:
- default
dependencies:
- python=3.9 # Confirmed working with 3.9.17
- pip
# -----------------------------
# Important version constraints
# -----------------------------
# animalai v3.0.2 requires mlagents 0.30.0
# <https://github.com/Kinds-of-Intelligence-CFI/animal-ai>
# animalai v3.0.1 requires mlagents 0.27.0
# <https://github.com/Kinds-of-Intelligence-CFI/animal-ai>
# (Release 18 <https://github.com/Unity-Technologies/ml-agents/releases/tag/release_18>)
# dreamerv3 1.1.0 requires gym==0.19.0
# <https://github.com/danijar/dreamerv3/blob/main/requirements.txt>
# mlagents-envs 0.30.0 requires gym>=0.21.0
# <https://github.com/Unity-Technologies/ml-agents/blob/3fd3fdf1570b58109f5ad883b364b3526bc68ad7/ml-agents-envs/setup.py#L57>
# ==> thus also mlagents 0.30.0, thus also animalai (GH) v3.0.2
# mlagents-envs 0.30.0 requires numpy==1.21.2
# <https://github.com/Unity-Technologies/ml-agents/blob/develop/ml-agents-envs/setup.py#L59>
# ==> thus can't use with jax 0.4.14
# mlagents 0.30.0 requires Python >=3.8.13,<=3.10.8
# <https://github.com/Unity-Technologies/ml-agents/blob/89a6357016f4bd685bb0004f83a3a1c2b27a0e05/ml-agents/setup.py>
# mlagents 0.27.0 requires Python >=3.6.1, but smaller than?
# <https://github.com/Unity-Technologies/ml-agents/blob/c1b26d49e4f4fc692c2688531f9e7c69dba12682/ml-agents/setup.py>
# mlagents-envs 0.27.0 requires numpy < 1.20
# Uses numpy.bool, which was deprecated in https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
# Latest jax that allows a numpy < 1.20 is XXX with numpy>=1.19
# jax 0.4.14 requires Python > 3.8
# <https://github.com/google/jax/blob/main/CHANGELOG.md>
# jax 0.4.14 requires numpy > 1.22
# <https://github.com/google/jax/blob/main/CHANGELOG.md>
# --> means we have to use lower jax
# jax 0.4.x requires high enough proto > 3.20
# protobuf 4.23 (latest version) is not compatible with the proto files generated by mlagents <= 0.30.0
# Two options (provided by proto package)
# 1. Downgrade the proto package to 3.20.x or lower. (not compatible with decent jax versions)
# 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).
# -> the option we choose
#
# Question, does ml-agents=0.27.0 work with python 3.10.8?
# Initially there were issues with torch install
# => We got with python=3.9 instead