jacobgil / pyfishervector

Python implementation for Image Classification based on GMM dictionaries and fisher vectors.
137 stars 56 forks source link

ValueError: Array 'mean' must be a vector of length 16384. #9

Open Monarch1995 opened 5 years ago

Monarch1995 commented 5 years ago

I have tried a few hours to solve this problem,but i failed.almost in line 38, the likelihood_statistics function,g = [multivariate_normal(mean=means[k], cov=covs[k]) for k in range(0, len(weights))],i think this is the main problem,but i can't solve it,can you help me?thank you very much.

Monarch1995 commented 5 years ago

D:\Anaconda3\python.exe E:/fisher/new.py Traceback (most recent call last): File "E:/fisher/new.py", line 6, in from sklearn import svm File "D:\Anaconda3\lib\site-packages\sklearn\svm__init.py", line 13, in from .classes import SVC, NuSVC, SVR, NuSVR, OneClassSVM, LinearSVC, \ File "D:\Anaconda3\lib\site-packages\sklearn\svm\classes.py", line 4, in from .base import _fit_liblinear, BaseSVC, BaseLibSVM File "D:\Anaconda3\lib\site-packages\sklearn\svm\base.py", line 11, in from ..preprocessing import LabelEncoder File "D:\Anaconda3\lib\site-packages\sklearn\preprocessing__init.py", line 6, in from ._function_transformer import FunctionTransformer File "D:\Anaconda3\lib\site-packages\sklearn\preprocessing_function_transformer.py", line 5, in from ..utils.testing import assert_allclose_dense_sparse File "D:\Anaconda3\lib\site-packages\sklearn\utils\testing.py", line 54, in from nose.tools import raises as _nose_raises File "D:\Anaconda3\lib\site-packages\nose\init__.py", line 1, in from nose.core import collector, main, run, run_exit, runmodule File "D:\Anaconda3\lib\site-packages\nose\core.py", line 11, in from nose.config import Config, all_config_files File "D:\Anaconda3\lib\site-packages\nose\config.py", line 8, in from nose.util import absdir, tolist File "D:\Anaconda3\lib\site-packages\nose\util.py", line 12, in from nose.pyversion import ClassType, TypeType, isgenerator, ismethod File "D:\Anaconda3\lib\site-packages\nose\pyversion.py", line 36, in import new File "E:\fisher\new.py", line 160, in fisher_features = fisher_features(folder, gmm) File "E:\fisher\new.py", line 121, in fisher_features features = {folder: get_fisher_vectors_from_folder(folder, gmm)} File "E:\fisher\new.py", line 111, in get_fisher_vectors_from_folder fv = fisher_vector(image_descriptors(file),*gmm) File "E:\fisher\new.py", line 78, in fisher_vector s0, s1, s2 = likelihood_statistics(samples, means, covs, w) File "E:\fisher\new.py", line 43, in likelihood_statistics g = [multivariate_normal(mean=means[k], cov=covs[k]) for k in range(0, len(weights))] File "E:\fisher\new.py", line 43, in g = [multivariate_normal(mean=means[k], cov=covs[k]) for k in range(0, len(weights))] File "D:\Anaconda3\lib\site-packages\scipy\stats_multivariate.py", line 358, in call seed=seed) File "D:\Anaconda3\lib\site-packages\scipy\stats_multivariate.py", line 727, in init__ None, mean, cov) File "D:\Anaconda3\lib\site-packages\scipy\stats_multivariate.py", line 399, in _process_parameters raise ValueError("Array 'mean' must be a vector of length %d." % dim) ValueError: Array 'mean' must be a vector of length 16384.