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)
Exemple #2
0
            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)