【发布时间】:2021-06-11 02:04:25
【问题描述】:
我使用np.array 转换列表,但大小不正确。
这是我的代码:
svm = create_SVM()
samples = np.array(train_data, dtype=np.float32)
response = np.array(labels, dtype=np.int32)
if samples.size != response.size:
raise ValueError(
f'sample.size != response.size!\nsample.size:{samples.size} response.size:{response.size} train_data:{len(train_data)}')
print('train start...')
svm.train(samples, cv.ml.ROW_SAMPLE, response)
svm.save("svm.yml")
// another function
img = cv.imread(path.join(filename, file), 0)
img = cv.resize(img, (64, 128))
hog = cv.HOGDescriptor()
hist = hog.compute(img)
data = np.array(hist, dtype=np.float32).reshape(1, -1)[0]
train_data.append(data)
labels.append(label)
结果是ValueError: sample.size != response.size! sample.size:9552060 response.size:2527 train_data:2527
为什么train_datasize 不等于sample?
【问题讨论】:
-
我们怎么可能知道呢?我们不知道
label是什么。 -
label类型为int。像 1 或 2 或 ...