stablebaselinesのgailについて質問です
pythonのstablebaselineでgailを用いようとしたら以下のようなエラーが出てしまいました。
どのように改善したらよろしいですか?
gailではなく、dqnやppo2なら成功するんですけどgailだとなぜか上手くいかないです
発生している問題・エラーメッセージ
例外が発生しました: RuntimeError
An attempt has been made to start a new process before the
current process has finished its bootstrapping phase.
This probably means that you are not using fork to start your
child processes and you have forgotten to use the proper idiom
in the main module:
if name == 'main':
freeze_support()
...
The "freeze_support()" line can be omitted if the program
is not going to be frozen to produce an executable.
File "C:\Users\user\Desktop\vscode\python\gail.py", line 19, in <module>
model.learn(total_timesteps=10000)
File "<string>", line 1, in <module>
該当のソースコード
import gym
import time
from stable_baselines import GAIL
from stable_baselines.common.policies import MlpPolicy
from stable_baselines.common.vec_env import DummyVecEnv
from stable_baselines.gail import ExpertDataset, generate_expert_traj
env = gym.make('CartPole-v1')
env = DummyVecEnv([lambda: env])
dataset = ExpertDataset(expert_path='expert_cartpole.npz', verbose=1)
model = GAIL(MlpPolicy, env, dataset, verbose=1)
model.learn(total_timesteps=10000)
state = env.reset()
while True:
time.sleep(1.0/10.0)
env.render()
action, _ = model.predict(state)
state, reward, done, info = env.step(action)
if done:
env.reset()
試したこと
if name == 'main':
freeze_support()
をそのまま書いたり
エラー箇所の部分をコメントアウトすると作動します(作動するだけで結果は上手くいかないです)
補足情報(FW/ツールのバージョンなど)
windowsのMPIをインストールしたのですが実行されているか分からないです
pip install stabelebaseline[mpi] == 2.28は行いました
python3.7
tensorflow 1.14
stablebaseline 2.8
あなたの回答
tips
プレビュー