Python 错误的输入形状():训练分类器时出现Openface问题

Python 错误的输入形状():训练分类器时出现Openface问题,python,scikit-learn,deep-learning,face-recognition,dlib,Python,Scikit Learn,Deep Learning,Face Recognition,Dlib,我正试图通过照片识别人,我在网上找到了这本很棒的教程: 该项目使用Python、Openface和dlib来完成任务 我已经能够正确设置和工作,但在运行以下命令时遇到问题: python3 ./demos/classifier.py train ./generated-embeddings/ 在我的终端上执行上述命令会导致以下错误: > /usr/local/lib/python3.5/dist-packages/sklearn/utils/fixes.py:64: Deprecatio

我正试图通过照片识别人,我在网上找到了这本很棒的教程:

该项目使用Python、Openface和dlib来完成任务

我已经能够正确设置和工作,但在运行以下命令时遇到问题:

python3 ./demos/classifier.py train ./generated-embeddings/
在我的终端上执行上述命令会导致以下错误:

> /usr/local/lib/python3.5/dist-packages/sklearn/utils/fixes.py:64: DeprecationWarning: inspect.getargspec() is deprecated, use inspect.signature() instead
 if ‘order’ in inspect.getargspec(np.copy)[0]:
Loading embeddings.
Traceback (most recent call last):
 File “./demos/classifier.py”, line 291, in <module>
 train(args)
 File “./demos/classifier.py”, line 112, in train
 le = LabelEncoder().fit(labels)
 File “/usr/local/lib/python3.5/dist-packages/sklearn/preprocessing/label.py”, line 110, in fit
 y = column_or_1d(y, warn=True)
 File “/usr/local/lib/python3.5/dist-packages/sklearn/utils/validation.py”, line 485, in column_or_1d
 raise ValueError(“bad input shape {0}”.format(shape))
ValueError: bad input shape ()
/usr/local/lib/python3.5/dist-packages/sklearn/utils/fixes.py:64:DeprecationWarning:inspect.getargspec()已被弃用,请改用inspect.signature()
如果inspect.getargspec(np.copy)[0]中的“订单”:
加载嵌入件。
回溯(最近一次呼叫最后一次):
文件“/demos/classifier.py”,第291行,在
列车(args)
文件“/demos/classifier.py”,第112行,列车中
le=标签编码().fit(标签)
文件“/usr/local/lib/python3.5/dist-packages/sklearn/preprocessing/label.py”,第110行,适合
y=列_或_1d(y,警告=真)
文件“/usr/local/lib/python3.5/dist-packages/sklearn/utils/validation.py”,第485行,第_或_1d列
raise VALUERROR(“错误的输入形状{0}”。格式(形状))
ValueError:错误的输入形状()
我的设置

  • UBUNTU 16.04 LTS 64位
  • Python 3.5.2
  • dlib 19.7.0
  • 露脸

有人知道发生了什么事以及如何解决这个问题吗

我解决了这个错误,我在这里发布了解决方案,希望它对遇到这个问题的其他用户有用

执行命令时出现的错误输入形状错误

python3 ./demos/classifier.py train ./generated-embeddings/
可以通过添加以下代码行修改openface/demos/classifier.py文件来轻松解决此问题

labels=list(labels)
在fit函数调用之前

le = LabelEncoder().fit(labels)
默认情况下,type(labels)返回map,这就是导致错误的原因,因为LabelEncoder.fit()函数接受一个类似于shape(n_samples,)的数组作为输入,而不是map对象


希望此帮助

请发布
标签
对象的内容。它是二维阵列吗?