0

我正在尝试安装 stable-baselines 并运行在线手册入门部分的前两行,但没有任何选项有效。我从

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 版吗?

安装 stable-baselines 并运行这个简单示例的正确方法是什么?


我试过了

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)
4

2 回答 2

2

引用github 自述文件

注意:Stable-Baselines 支持从 1.8.0 到 1.14.0 的 Tensorflow 版本。计划支持 Tensorflow 2 API。

同样的 github 自述文件也建议使用stable-baselines3,因为stable-baselines目前仅在维护,其功能未扩展。因此,我不希望TF1 -> TF2很快更新。

如果您无法安装此版本的 tensorflow,我建议使用stable-baselines3并按照示例进行操作。stable-baselines3您在上面发布的代码与导入MlpPolicyas的文档不一致

from stable_baselines3.sac.policies import MlpPolicy
于 2022-01-13T12:11:25.493 回答
0

根据 stable-baselines文档,您只能使用 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 的说明。

于 2022-01-13T12:11:35.427 回答