2017-08-15 592 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,然後運行再次程序和數據將被重新下載。