[英]OpenCV3 Python, svm.train() TypeError
When I use Opencv3 with Python2, my code is to do something with SVM. 当我使用Opencv3和Python2时,我的代码是用SVM做的。
But an Error is shown: 但是显示错误:
svm.train(trainData,responses,params = svm_params) TypeError: only length-1 arrays can be converted to Python scalars
svm.train(trainData,responses,params = svm_params)TypeError:只有length-1数组可以转换为Python标量
This error occurred because the function was expecting a single array object and trainData
variable contained multiple array objects. 发生此错误是因为函数期望单个数组对象和
trainData
变量包含多个数组对象。 There are several ways to solve this, one of them is, say if your input object is: 有几种方法可以解决这个问题,其中一种方法是,输入对象是:
# Used for creating training samples for a logic gate (eg: xor) NN
trainData = np.random.randint(2,size=2)
# array([ ..some values.. ])
then add [np.newaxis] to it 然后添加[np.newaxis]
np.random.randint(2,size=2)[np.newaxis]
# array([[ ..some values.. ]])
See: numpy newaxis , numpy broadcasting 请参阅: numpy newaxis , numpy broadcast
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.