2017-08-15 44 views
0

我正在练习使用特征面和支持向量机的人脸识别示例在官方scikit-learn网站上。ValueError:min_faces_per_person = 70太严格了

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

但是当我运行此:

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) 

但我得到告诉我一个错误:

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 

我不明白为什么我的Python版本是什么? 3.6.2,scikit-learn版本是v0.19.0

+0

阅读[代码](https://github.com/scikit-learn/scikit-learn/blob/c1eee276fa501965e7b4e23e6349031092e33131/sklearn/datasets/lfw.py#L208)它似乎有一些麻烦路径的东西效果在empy文件集中。 – sascha

+0

我在Ubuntu 14和Python 2并没有得到任何错误。也许[这个问题](https://github.com/scikit-learn/scikit-learn/issues/6484)是相关的。你可以在那里发布一个新的问题。 –

回答

-1

我也遇到了这个例外。我发现它可能是因为你已经运行了这个python程序,但是当它运行并下载数据时,你会破坏它,并且已经创建了目录。

我解决了这个被删除maden dir.Its route:~/scikit_learn_data/lfw_home.

删除lfw_funneled dir和LFW-funneled.tgz,然后运行再次程序和数据将被重新下载。