我正在使用 acme 框架来运行一些实验,并且我根据文档安装了 acme。但是,我遇到了可能由 JAX、HAIKU 引发的属性错误,当我查看 github 问题时,此时没有给出解决方案。谁能看看是什么包依赖导致了这个问题?
我的 venv 规格:
这是我的 venv 规格
dm-acme 0.4.0
dm-control 0.0.364896371
dm-env 1.6
dm-haiku 0.0.10
dm-launchpad 0.5.0
dm-reverb 0.7.0
dm-tree 0.1.8
acme 2.10.0
dm-acme 0.4.0
jax 0.4.26
jaxlib 0.4.26+cuda12.cudnn89
python -V Python 3.9.5
错误详情:
文件“/data/acme/examples/baselines/rl_discrete/run_dqn.py”,第 18 行, 在 从 acme.agents.jax 导入 dqn 文件“/data/acme/acme_venv_new/lib/python3.9/site-packages/acme/agents/jax/dqn/init.py”, 18号线,在 从 acme.agents.jax.dqn.actor 导入behavior_policy 文件“/data/acme/acme_venv_new/lib/python3.9/site-packages/acme/agents/jax/dqn/actor.py”, 第 20 行,在 从 acme.agents.jax 导入 actor_core 作为 actor_core_lib 文件“/data/acme/acme_venv_new/lib/python3.9/site-packages/acme/agents/jax/actor_core.py”, 第 22 行,在 从acme.jax导入网络作为networks_lib文件“/data/acme/acme_venv_new/lib/python3.9/site-packages/acme/jax/networks/init.py”, 18号线,在 从 acme.jax.networks.atari 导入 AtariTorso 文件“/data/acme/acme_venv_new/lib/python3.9/site-packages/acme/jax/networks/atari.py”, 第 29 行,在 从 acme.jax.networks 导入基础文件“/data/acme/acme_venv_new/lib/python3.9/site-packages/acme/jax/networks/base.py”, 第 24 行,在 导入 haiku 作为 hk 文件 "/data/acme/acme_venv_new/lib/python3.9/site-packages/haiku/init.py", 第 20 行,在 从 haiku 导入实验文件“/data/acme/acme_venv_new/lib/python3.9/site-packages/haiku/experimental/init.py”,第 34 行,在 从haiku._src.dot导入abstract_to_dot文件“/data/acme/acme_venv_new/lib/python3.9/site-packages/haiku/_src/dot.py”, 第 163 行,在 @jax. Linear_util.transformation 文件“/data/acme/acme_venv_new/lib/python3.9/site-packages/jax/_src/deprecations.py”, 第 54 行,在 getattr 中 raise AttributeError(f"module {module!r} has no attribute {name!r}") AttributeError: module 'jax' has no attribute 'linear_util'
似乎是从俳句和 JAX 中提出的,如何解决这个问题?有什么快速的想法
您遇到的 AttributeError,特别是 AttributeError: module 'jax' has no attribute 'linear_util',表明您在虚拟环境中安装的 JAX 和 Haiku 版本之间可能存在兼容性问题。