当前位置: 首页>>代码示例>>Python>>正文


Python World.get_actions方法代码示例

本文整理汇总了Python中world.World.get_actions方法的典型用法代码示例。如果您正苦于以下问题:Python World.get_actions方法的具体用法?Python World.get_actions怎么用?Python World.get_actions使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在world.World的用法示例。


在下文中一共展示了World.get_actions方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: create_random_dataset

# 需要导入模块: from world import World [as 别名]
# 或者: from world.World import get_actions [as 别名]
def create_random_dataset(domain, policy, dynamics_param, exp_directory):
    dataset_random = []
    if os.path.isfile(exp_directory + "/dataset_random.pckl"):
        dataset_random = pickle.load(open(exp_directory + "/dataset_random.pckl", "r"))
    else:
        if dynamics_param["type"] == "random":
            for _ in range(dynamics_param["nb_episodes"]):
                initial_state = domain.get_random_state()
                world = World(initial_state, domain)
                for _ in range(1):
                    state = world.state
                    action = random.choice(domain.get_actions(state))
                    world.apply_action(action)
                    next_state = world.state
                    dataset_random.append((state, action, next_state))

        elif dynamics_param["type"] == "epsilon_greedy":
            while len(dataset_random) < dynamics_param["nb_episodes"]:
                initial_state = domain.get_random_state()
                world = World(initial_state, domain)
                while len(dataset_random) < dynamics_param["nb_episodes"]:
                    state = world.state
                    action_expert = policy(state)
                    if random.random() < dynamics_param["epsilon"]:
                        action = random.choice(world.get_actions())
                    else:
                        action = action_expert

                    world.apply_action(action)
                    next_state = world.state
                    dataset_random.append((state, action, next_state))
                    if action == "wait":
                        break

            print len(dataset_random)

        with open(exp_directory + "/dataset_random.pckl", "w") as random_file:
            pickle.dump(dataset_random, random_file)


    return dataset_random
开发者ID:sebastien-forestier,项目名称:kidlearn,代码行数:43,代码来源:experiment.py

示例2: create_expert_dataset

# 需要导入模块: from world import World [as 别名]
# 或者: from world.World import get_actions [as 别名]
def create_expert_dataset(domain, policy, demos_params, exp_directory):
    dataset_expert = []
    if os.path.isfile(exp_directory + "/dataset_expert.pckl"):
        dataset_expert = pickle.load(open(exp_directory + "/dataset_expert.pckl", "r"))
    else:
        for i in range(demos_params["nb_episodes"]):
            initial_state = domain.get_random_state()
            world = World(initial_state, domain)
            while True:
                state = world.state
                action = policy(state)
                if random.random() < demos_params["noise"] / 100.:
                    action = random.choice(world.get_actions())

                world.apply_action(action)
                next_state = world.state
                dataset_expert.append((state, action, next_state))
                if action == "wait":
                    break
        with open(exp_directory + "/dataset_expert.pckl", "w") as expert_file:
            pickle.dump(dataset_expert, expert_file)

    return dataset_expert
开发者ID:sebastien-forestier,项目名称:kidlearn,代码行数:25,代码来源:experiment.py


注:本文中的world.World.get_actions方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。