我正在尝试安装稳定的基线,并运行在线手册"入门"部分的前两行,但没有任何选项可用。我从开始
pip install stable-baselines
现在当我运行:
import gym
from stable_baselines.common.policies import MlpPolicy
我得到
No module named 'tensorflow.contrib'
这显然是因为tensorflow版本2没有tensorflow.contrib。但版本2于2019年9月发布。我真的必须只使用tensorflow版本1吗?
安装稳定基线并运行这个简单示例的正确方法是什么?
我试过
pip install stable-baselines3
在虚拟环境中。这给出了一个不同的错误:
In [2]: from stable_baselines.common.policies import MlpPolicy
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
Input In [2], in <module>
----> 1 from stable_baselines.common.policies import MlpPolicy
ModuleNotFoundError: No module named 'stable_baselines'
In [3]: from stable_baselines3.common.policies import MlpPolicy
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
Input In [3], in <module>
----> 1 from stable_baselines3.common.policies import MlpPolicy
ImportError: cannot import name 'MlpPolicy' from 'stable_baselines3.common.policies' (/home/raph/RL/stable-baselines/venv/lib/python3.8/site-packages/stable_baselines3/common/policies.py)
引用github自述:
注意:稳定基线支持1.8.0到1.14.0的Tensorflow版本。计划支持Tensorflow 2 API。
同样的github自述文件也建议使用stable-baselines3
,因为stable-baselines
目前只得到维护,其功能没有扩展。因此,我预计TF1 -> TF2
不会很快更新。
如果您不能安装此版本的tensorflow,我建议使用stable-baselines3
并按照示例进行操作。您上面发布的代码与stable-baselines3
文档不一致,后者将MlpPolicy
导入为
from stable_baselines3.sac.policies import MlpPolicy
根据稳定的基线文档,您只能使用Tensorflow 1.8.0到1.15.0版本。
如果你想运行Tensorflow 1,并且你想使用pip作为包管理器,你需要安装python 3.7或更低版本。我在我的ubuntu终端中做了以下操作
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.7
sudo apt install virtualenv
virtualenv --python=/usr/bin/python3.7 <env-name>
source <env-name>/bin/activate
pip install tensorflow==1.15.0
...
或者,您可以尝试使用本指南,其中给出了如何将某些内容迁移到Tensorflow版本2的说明。