所以我最近又回到了机器学习领域,并决定开始"ConnectX"(https://www.kaggle.com/learn/intro-to-game-ai-and-reinforcement-learning(的Kaggle课程。我正在尝试做第 4 课,其中我使用稳定基线 + Tensorflow 来制作 AI。问题是,我似乎无法正确使用稳定基线,因为它在我尝试导入它时会立即给我一个错误。以下是错误消息:
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-13-f5986851ce81> in <module>
1 import os
----> 2 from stable_baselines.bench import Monitor
3 from stable_baselines.common.vec_env import DummyVecEnv
4
5 # Create directory for logging training information
~Anaconda3libsite-packagesstable_baselines__init__.py in <module>
----> 1 from stable_baselines.a2c import A2C
2 from stable_baselines.acer import ACER
3 from stable_baselines.acktr import ACKTR
4 from stable_baselines.deepq import DQN
5 from stable_baselines.her import HER
~Anaconda3libsite-packagesstable_baselinesa2c__init__.py in <module>
----> 1 from stable_baselines.a2c.a2c import A2C
~Anaconda3libsite-packagesstable_baselinesa2ca2c.py in <module>
5 import tensorflow as tf
6
----> 7 from stable_baselines import logger
8 from stable_baselines.common import explained_variance, tf_util, ActorCriticRLModel, SetVerbosity, TensorboardWriter
9 from stable_baselines.common.policies import ActorCriticPolicy, RecurrentActorCriticPolicy
~Anaconda3libsite-packagesstable_baselineslogger.py in <module>
15 from tensorflow.python.util import compat
16
---> 17 from stable_baselines.common.misc_util import mpi_rank_or_zero
18
19 DEBUG = 10
~Anaconda3libsite-packagesstable_baselinescommon__init__.py in <module>
2 from stable_baselines.common.console_util import fmt_row, fmt_item, colorize
3 from stable_baselines.common.dataset import Dataset
----> 4 from stable_baselines.common.math_util import discount, discount_with_boundaries, explained_variance,
5 explained_variance_2d, flatten_arrays, unflatten_vector
6 from stable_baselines.common.misc_util import zipsame, set_global_seeds, boolean_flag
~Anaconda3libsite-packagesstable_baselinescommonmath_util.py in <module>
1 import numpy as np
----> 2 import scipy.signal
3
4
5 def safe_mean(arr):
~Anaconda3libsite-packagesscipysignal__init__.py in <module>
287
288 """
--> 289 from . import sigtools, windows
290 from .waveforms import *
291 from ._max_len_seq import max_len_seq
~Anaconda3libsite-packagesscipysignalwindows__init__.py in <module>
39 """
40
---> 41 from .windows import *
42
43 __all__ = ['boxcar', 'triang', 'parzen', 'bohman', 'blackman', 'nuttall',
~Anaconda3libsite-packagesscipysignalwindowswindows.py in <module>
5
6 import numpy as np
----> 7 from scipy import linalg, special, fft as sp_fft
8
9 __all__ = ['boxcar', 'triang', 'parzen', 'bohman', 'blackman', 'nuttall',
~Anaconda3libsite-packagesscipyspecial__init__.py in <module>
631 from .sf_error import SpecialFunctionWarning, SpecialFunctionError
632
--> 633 from . import _ufuncs
634 from ._ufuncs import *
635
ImportError: DLL load failed: The specified module could not be found.
看起来scipy
有问题,但我不知道我能做些什么来修复它。即使我运行import stable_baselines
也会发生此错误。这是我运行以创建虚拟环境的代码(顺便说一句,这是在 PowerShell b/c 中,这是 Jupyter Lab 给我的(:
python -m venv myenv
.myenvScriptsActivate.ps1
pip install stable-baselines
注意:我不知道这是否有任何意义,但是当我安装stable-baselines
时,会出现一个错误:ERROR: gym 0.17.2 has requirement cloudpickle<1.4.0,>=1.2.0, but you'll have cloudpickle 1.5.0 which is incompatible.
PS:我在这里发现了同样的问题,但我不知道他们是如何解决的。答案只是说"我用了蟒蛇",但蟒蛇中没有stable-baselines
包!我尝试从 anaconda 安装张量流和从 pip 安装稳定基线,但它仍然给出了相同的错误。
最后编辑:看起来这个问题在.
导入中,仅在jupyter notebook
中有效(与tensorflow
没有任何关系 - 它在 Python CLI 中工作正常(。我已经在我关于opencv
的新问题中解释了它。
~ 阿尤什
稳定基线站点声称它们不支持 tf2。X还没有。所以这可能是你的问题
请尝试以下操作,
pip install tensorflow==1.14.0
pip install stable-baselines[mpi]==2.10.0
直到今天(2020年9月4日(,他们似乎还在为我一起工作。
我知道这可能有点晚了,但我现在发现了你的问题,并决定尽我所能回答它。 祝你好运!
如果您专门寻找稳定基线的 TF2 版本,请检查以下(实验性(分支之一:
- https://github.com/sophiagu/stable-baselines-tf2
- https://github.com/Stable-Baselines-Team/stable-baselines-tf2
或者,尝试Stable Baselines 3(目前处于测试阶段(,它基于PyTorch而不是Tensorflow,旨在取代当前基于TF1的SB2版本:
- https://github.com/DLR-RM/stable-baselines3
import stable_baselines
不起作用。
import stable_baselines3
有效。
要安装稳定基线,您可以使用
conda install -c conda-forge stable-baselines3
如果您使用蟒蛇pip install stable-baselines
是否要使用 PIP 进行安装