安装稳定基线的正确方法?

The right way to install stable-baselines?

我正在尝试安装 stable-baselines 和 运行 第一个 two lines 来自在线手册的“入门”部分,但没有任何选项有效。我从

开始
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 readme

Note: Stable-Baselines supports Tensorflow versions from 1.8.0 to 1.14.0. Support for Tensorflow 2 API is planned.

同样的github readme也推荐使用stable-baselines3,因为stable-baselines目前只是在维护,并没有扩展其功能。因此,我不希望 TF1 -> TF2 很快更新。

如果你不能安装这个版本的tensorflow,我建议使用stable-baselines3并遵循examples。您在上面发布的代码与 stable-baselines3 文档不一致,该文档将 MlpPolicy 导入为

from stable_baselines3.sac.policies import MlpPolicy

根据稳定基线documentation您只能使用 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
...

或者,您可以尝试使用 this 指南,其中提供了有关如何将某些内容迁移到 Tensorflow 版本 2 的说明。