os.path.join(this_dir, 'msp_no_sim', 'path_{}.png'.format(it))) learnable_anchor_vals = optimizer.step( Container({'w': learnable_anchor_vals}), grads)['w'] it += 1 sim.execute_motion(joint_query_vals) sim.close() unset_framework() if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument( '--non_interactive', action='store_true', help='whether to run the demo in non-interactive mode.') parser.add_argument( '--no_sim', action='store_true', help= 'whether to run the demo without attempt to use the PyRep simulator.') parser.add_argument( '--framework', type=str, default=None, help= 'which framework to use. Chooses a random framework if unspecified.') parsed_args = parser.parse_args() framework = None if parsed_args.framework is None else get_framework_from_str( parsed_args.framework) main(not parsed_args.non_interactive, not parsed_args.no_sim, framework)
print('\nIterations: {} Mean Score: {}\n'.format(iteration + 1, np.mean(scores))) scores.clear() if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('--no_visuals', action='store_true', help='whether to run the demo without rendering images.') parser.add_argument('--env', default='CartPole', choices=['CartPole', 'Pendulum', 'MountainCar', 'Reacher', 'Swimmer']) parser.add_argument('--framework', type=str, default=None, choices=['jax', 'tensorflow', 'torch', 'mxnd', 'numpy']) parser.add_argument('--steps', type=int, default=100) parser.add_argument('--iters', type=int, default=10000) parser.add_argument('--lr', type=float, default=0.001) parser.add_argument('--seed', type=int, default=0) parser.add_argument('--log_freq', type=int, default=100) parser.add_argument('--vis_freq', type=int, default=1000) parsed_args = parser.parse_args() if parsed_args.framework is None: framework = choose_random_framework(excluded=['numpy']) else: framework = get_framework_from_str(parsed_args.framework) if parsed_args.framework == 'numpy': raise Exception('Invalid framework selection. Numpy does not support auto-differentiation.\n' 'This demo involves gradient-based optimization, and so auto-diff is required.\n' 'Please choose a different backend framework.') print('\nTraining for {} iterations.\n'.format(parsed_args.iters)) main(parsed_args.env, parsed_args.steps, parsed_args.iters, parsed_args.lr, parsed_args.seed, parsed_args.log_freq, parsed_args.vis_freq, not parsed_args.no_visuals, framework)