首页 > 解决方案 > 模块“tensorflow”没有属性“tanh”

问题描述

我正在尝试重复本教程中显示的内容:https ://www.kaggle.com/alexisbcook/deep-reinforcement-learning

当我运行此代码时:

# Check version of tensorflow
import tensorflow as tf
tf.__version__

我收到此错误:

模块“tensorflow”没有属性“版本

当我运行这段代码时,我没有收到任何错误:

from kaggle_environments import make, evaluate
from gym import spaces

class ConnectFourGym:
...

然后运行此代码没有错误:

# Create ConnectFour environment
env = ConnectFourGym(agent2="random")

但是当我尝试运行以下代码时

import os
from stable_baselines.bench import Monitor 
from stable_baselines.common.vec_env import DummyVecEnv

# Create directory for logging training information
log_dir = "ppo/"
os.makedirs(log_dir, exist_ok=True)

# Logging progress
monitor_env = Monitor(env, log_dir, allow_early_resets=True)

# Create a vectorized environment
vec_env = DummyVecEnv([lambda: monitor_env])

我收到以下错误:

模块“tensorflow”没有属性“tanh”

错误指向导致问题的这些行:

----> 2 from stable_baselines.bench import Monitor 
...
----> 1 from stable_baselines.a2c import A2C 
...
----> 1 from stable_baselines.a2c.a2c import A2C 
...
----> 9 from stable_baselines.common import explained_variance, tf_util, ActorCriticRLModel, SetVerbosity, TensorboardWriter 
...
----> 7 from stable_baselines.common.base_class import BaseRLModel, ActorCriticRLModel, OffPolicyRLModel, SetVerbosity, 
...
---> 16 from stable_baselines.common.policies import get_policy_from_name, ActorCriticPolicy     ...
--> 375 class LstmPolicy(RecurrentActorCriticPolicy):

为什么会这样?我该如何解决这个问题?

标签: tensorflow

解决方案


我通过指定 TensorFlow 版本解决了这个问题:

# Check version of tensorflow
!pip install -q 'tensorflow==1.15.0'
import tensorflow as tf
tf.__version__

此代码片段安装 TensorFlow 版本 1.15.0 并打印

'1.15.0'


推荐阅读