Я новичок в 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')
Спасибо за вашу помощь:)