Exemple #1
0
    def load(dir):
        with open(f"{dir}/planner.pkl", 'rb') as f:
            planner = pickle.load(f)

        planner.world_model = WorldModel.load(dir)

        return planner
Exemple #2
0
            pickle.dump(transformer, f)

    n_obs = transformer.rbf_dim if transformer else env.observation_space.shape[
        0]
    n_action = env.action_space.shape[0]
    max_action = float(env.action_space.high[0])

    critic = build_critic(n_obs, args.learning_rate)
    if transformer:
        critic = NetworkWithTransformer(critic, transformer)

    # Initialize agent
    if args.agent == "PIP":
        copy_tree(f"world_models/{args.world_model}",
                  f"{model_path}/world_model")
        world_model = WorldModel.load(model_path)
        planner = PSOPlanner(
            env.action_space,
            world_model,
            critic,
            length=args.plan_length,
            gamma=args.gamma,
            particles=args.particles,
            iterations=args.iterations,
            c1=args.c1,
            c2=args.c2,
            w=args.w,
            k=args.k,
        )

        agent = PIP(planner, critic, gamma=args.gamma)