2017-08-15 2 views
0

Je pratique Exemple de reconnaissance de visages utilisant des eigenfaces et SVMs qui est sur le site officiel de scikit-learn.ValueError: min_faces_per_person = 70 est trop restrictif

http://scikit-learn.org/stable/auto_examples/applications/plot_face_recognition.html#sphx-glr-auto-examples-applications-plot-face-recognition-py

Mais quand je lance ici:

from __future__ import print_function 

from time import time 
import logging 
import matplotlib.pyplot as plt 

from sklearn.model_selection import train_test_split 
from sklearn.model_selection import GridSearchCV 
from sklearn.datasets import fetch_lfw_people 
from sklearn.metrics import classification_report 
from sklearn.metrics import confusion_matrix 
from sklearn.decomposition import PCA 
from sklearn.svm import SVC 


print(__doc__) 

# Display progress logs on stdout 
logging.basicConfig(level=logging.INFO, format='%(asctime)s %(message)s') 


# ############################################################################# 
# Download the data, if not already on disk and load it as numpy arrays 

lfw_people = fetch_lfw_people(min_faces_per_person=70, resize=0.4) 

Mais je reçois une erreur qui me dit:

Traceback (most recent call last): 
    File "D:\神经网络与深度学习\麦子学院-深度学习\(Part One)深度学习基础\代码与素材 
\代码与素材(1)\03SVM\plot_face_recognition.py", line 54, in <module> 
    lfw_people = fetch_lfw_people(min_faces_per_person=70, resize=0.4) 
    File "D:\Program Files\Python36\lib\site-packages\sklearn\datasets\lfw.py", line 335, in fetch_lfw_people 
    min_faces_per_person=min_faces_per_person, color=color, slice_=slice_) 
    File "D:\Program Files\Python36\lib\site-packages\sklearn\externals\joblib\memory.py", line 562, in __call__ 
    return self._cached_call(args, kwargs)[0] 
    File "D:\Program Files\Python36\lib\site-packages\sklearn\externals\joblib\memory.py", line 510, in _cached_call 
    out, metadata = self.call(*args, **kwargs) 
    File "D:\Program Files\Python36\lib\site-packages\sklearn\externals\joblib\memory.py", line 744, in call 
    output = self.func(*args, **kwargs) 
    File "D:\Program Files\Python36\lib\site-packages\sklearn\datasets\lfw.py", line 231, in _fetch_lfw_people 
    min_faces_per_person) 
ValueError: min_faces_per_person=70 is too restrictive 

Je ne comprends pas pourquoi ma version python est? 3.6.2, la version de scikit-learn est v0.19.0

+0

Lecture [le code] (https://github.com/scikit-learn/scikit-learn/blob/c1eee276fa501965e7b4e23e6349031092e33131/sklearn/datasets/lfw.py#L208), il semble qu'il y ait des problèmes avec chemin des choses qui effets dans un ensemble de fichiers empy. – sascha

+0

Je suis sur Ubuntu 14 et python 2 et ne pas avoir d'erreur. Peut-être que [ce numéro] (https://github.com/scikit-learn/scikit-learn/issues/6484) est pertinent. Vous pouvez poster un nouveau problème ici. –

Répondre

-1

J'ai rencontré cette exception aussi. Je le trouve parce que vous avez exécuté ce programme python, mais quand il exécute et télécharge les données, vous le cassez, et le répertoire a été créé.

Je résolu ce problème en supprimer les dir.Its de Maden route:~/scikit_learn_data/lfw_home.

Supprimer le répertoire lfw_funneled et LFW-funneled.tgz, puis exécutez-vous programmer à nouveau, et les données sont téléchargées à nouveau.