araffin / rl-tutorial-jnrr19

Stable-Baselines tutorial for Journées Nationales de la Recherche en Robotique 2019
MIT License
591 stars 113 forks source link

AttributeError: 'A2CRunner' object has no attribute 'save' 4_callbacks_hyperparameter_tuning #11

Closed jackwilkinson255 closed 3 years ago

jackwilkinson255 commented 3 years ago

Hi, getting this error message in part 4 after First example: Auto saving best model

`Saving new best model at 30 timesteps
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-31-1fad92cafe9b> in <module>
     42 
     43 model = A2C('MlpPolicy', env, verbose=0)
---> 44 model.learn(total_timesteps=10000, callback=auto_save_callback)

~/anaconda3/envs/mbbl/lib/python3.6/site-packages/stable_baselines/a2c/a2c.py in learn(self, total_timesteps, callback, log_interval, tb_log_name, reset_num_timesteps)
    261                     explained_var = explained_variance(values, rewards)
    262                     logger.record_tabular("nupdates", update)
--> 263                     logger.record_tabular("total_timesteps", self.num_timesteps)
    264                     logger.record_tabular("fps", fps)
    265                     logger.record_tabular("policy_entropy", float(policy_entropy))

~/anaconda3/envs/mbbl/lib/python3.6/site-packages/stable_baselines/common/runners.py in run(self, callback)

~/anaconda3/envs/mbbl/lib/python3.6/site-packages/stable_baselines/a2c/a2c.py in _run(self)
    366         mb_actions = mb_actions.reshape(-1, *mb_actions.shape[2:])
    367         mb_values = mb_values.reshape(-1, *mb_values.shape[2:])
--> 368         mb_masks = mb_masks.reshape(-1, *mb_masks.shape[2:])
    369         true_rewards = true_rewards.reshape(-1, *true_rewards.shape[2:])
    370         return mb_obs, mb_states, mb_rewards, mb_masks, mb_actions, mb_values, ep_infos, true_rewards

~/anaconda3/envs/mbbl/lib/python3.6/site-packages/stable_baselines/common/callbacks.py in on_step(self)

~/anaconda3/envs/mbbl/lib/python3.6/site-packages/stable_baselines/common/callbacks.py in _on_step(self)

<ipython-input-31-1fad92cafe9b> in auto_save_callback(_locals, _globals)
     28                 # Example for saving best model
     29                 print("Saving new best model at {} timesteps".format(x[-1]))
---> 30                 _locals['self'].save(log_dir + 'best_model')
     31     callback_vars["n_steps"] += 1
     32     return True

AttributeError: 'A2CRunner' object has no attribute 'save'`

Thanks for your help!

araffin commented 3 years ago

Hello, You seem to be using an old version of the tutorial. Please use the latest version of the notebook ;)

jackwilkinson255 commented 3 years ago

Works now, thanks