def save(self): # list and ',' = list[0] line, = self.ax.plot(self.X[0::3], self.Y[0::3], 'b') if self.ax.get_title() != '': name = self.ax.get_title().replace(' ', '_') self.fig.savefig(self.save_path + name + '.png') else: name = time_seq() self.fig.savefig(self.save_path + name + '.png')
def __init__(self, agent, env, config: Config, record=False): self.agent = agent self.config = config #self.outputdir = get_output_folder(self.config.output, self.config.env) if record: os.makedirs('video', exist_ok=True) filepath = self.outputdir + '/video/' + config.env + '-' + time_seq() env = wrappers.Monitor(env, filepath, video_callable=lambda episode_id: episode_id % self.config.record_ep_interval == 0) self.env = env self.env.seed(config.seed) self.agent.is_training = True
record=args.record) trainer.train() elif args.retrain: if args.retrain_model is None: print('please add the retrain model path:', '--retrain_model xxxx') exit(0) ep, step = agent.load_checkpoint(args.retrain_model) trainer = Trainer(agent, env, config, record=args.record) trainer.train(ep, step) elif args.test: if args.model_path is None: print('please add the model path:', '--model_path xxxx') exit(0) # record if args.record: os.makedirs('video', exist_ok=True) filepath = 'video/' + args.env + '-' + time_seq() env = wrappers.Monitor(env, filepath, video_callable=lambda episode_id: episode_id % 25 == 0) tester = Tester(agent, env, model_path=args.model_path) tester.test() else: print('choose train or test:', '--train or --test')