class_docstr: Callback for saving a model every `save_freq` steps
  
  :param save_freq: (int)
  :param save_path: (str) Path to the folder where the model will be saved.
  :param name_prefix: (str) Common prefix to the saved models
class_docstr_tok: ["Callback","for","saving","a","model","every","`","save_freq","`","steps",":","param","save_freq",":","(","int",")",":","param","save_path",":","(","str",")","Path","to","the","folder","where","the","model","will","be","saved",".",":","param","name_prefix",":","(","str",")","Common","prefix","to","the","saved","models"]
code: def _on_step(self) -> bool:
      if self.n_calls % self.save_freq == 0:
          path = os.path.join(
              self.save_path,
              "{}_{}_steps".format(
                  self.name_prefix, self.num_timesteps
              ),
          )
          self.model.save(path)
          if self.verbose > 1:
              print("Saving model checkpoint to {}".format(path))
      return True
  
imports: import os
  from abc import ABC
  import warnings
  import typing
  from typing import Union, List, Dict, Any, Optional
  import gym
  import numpy
  from stable_baselines.common.vec_env import VecEnv, sync_envs_normalization, DummyVecEnv
  from stable_baselines.common.evaluation import evaluate_policy
  from stable_baselines import logger
label_desc: Use image node_id 3 for calling the CheckpointCallback obj's underlying member method code with example usage: obj._on_step() and returns: True