Возможно ли ворсинировать этот цикл for? - PullRequest
0 голосов
/ 30 октября 2018

Я новичок в Python, но я бы хотел векторизовать эту функцию. Это возможно?

from skimage.feature import hog
import numpy as np

    def hog_features(X):
        """
        Extract HOG features from input images

        Args:
            X: Data matrix of shape [num_train, 577]

        Returns:
            hogs: Extracted hog features

        """

        hog_list = []

        for i in range(X.shape[0]):

            t = hog(np.reshape(X[i][1:],[24,24],order='F'),orientations=8, pixels_per_cell=(2, 2),
                        cells_per_block=(1, 1), visualize=False, multichannel=False,feature_vector = True)
            np.append(1, t)
            hog_list.append(t)

        hogs = np.stack(hog_list,axis=0)
        return hogs

Я пытался так, но это не работает, я думаю, потому что я должен указать сигнатуру моего входного аргумента. Но я даже не знаю, что такое подпись. Где X - это (m, n) numpy.ndarray

hog_v = np.vectorize(hog_features,signature='X')

Спасибо за вашу помощь:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...