agent.py 文件源码

python
阅读 32 收藏 0 点赞 0 评论 0

项目:IntelAct-Vizdoom 作者: chendagui16 项目源码 文件源码
def __prepare_controls_and_actions(self):
        self.__discrete_controls_to_net = np.array([i for i in range(len(self.__discrete_controls))
                                                    if i not in self.__discrete_controls_manual])
        self.__num_manual_controls = len(self.__discrete_controls_manual)
        self.__net_discrete_actions = []
        if not self.__opposite_button_pairs:
            for perm in it.product([False, True], repeat=len(self.__discrete_controls_to_net)):
                self.__net_discrete_actions.append(list(perm))
        else:
            for perm in it.product([False, True], repeat=len(self.__discrete_controls_to_net)):
                act = list(perm)
                valid = True
                for button_p in self.__opposite_button_pairs:
                    if act[button_p[0]] and act[button_p[1]]:
                        valid = False
                if valid:
                    self.__net_discrete_actions.append(act)

        self.__num_net_discrete_actions = len(self.__net_discrete_actions)
        self.__action_to_index = {tuple(val): ind for (ind, val) in enumerate(self.__net_discrete_actions)}
        self.__net_discrete_actions = np.array(self.__net_discrete_actions)
        self.__onehot_discrete_acitons = np.eye(self.__num_net_discrete_actions)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号