本文整理汇总了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
示例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