state_indexer.py 文件源码

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

项目:harpreif 作者: harpribot 项目源码 文件源码
def __get_input_for_model(self, image):
        """
        Renders the new gamestate based on the changed board condition using HOG gradients over sliding window
        :return: None
        """
        state = None
        if self.state_type == 'hog':
            slides = sliding_window(image, SLIDING_STRIDE, WINDOW_SIZE)

            hog_gradients = []
            for slide in slides:
                window_image = slide[2]

                gradient = np.array(hog(window_image,
                                        orientations=self.num_gradients,
                                        pixels_per_cell=WINDOW_SIZE,
                                        cells_per_block=(1, 1), visualise=False))

                assert gradient.size == self.num_gradients, "Gradient size not equal to desired size"
                gradient = gradient_discretizer(gradient, self.bins)
                hog_gradients.extend(gradient)

            hog_gradients = np.array(hog_gradients)

            hog_gradients = hog_gradients.reshape((self.state_height, self.state_width, self.num_gradients))

            assert hog_gradients.shape == (self.input_height, self.input_width, self.input_channels), \
                "The state dimension is trying to be altered"
            state = hog_gradients

        elif self.state_type == 'image':
            resized_discrete_im = np.digitize(
                imresize(image, (self.state_height, self.state_width)),
                self.bins)
            state = np.array([resized_discrete_im]).transpose().swapaxes(0, 1)

        else:
            ValueError('The state type is not valid, enter "hog" or "image"')

        return state
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号