[英]VLFeat: ValueError for certain number of clusters in vl_kmeans
我有一个大小为301 x 4096的数组,我想为其计算VLAD向量。
我试图用做量化
center, assignments = vlfeat.vl_kmeans(data,8)
但这又回来了
ValueError:太多值无法解包
如果我将群集数从8更改为2,则可以使用。 我也尝试过其他数字,但所有数字都返回相同的ValueError。 除非设置为1,否则返回
ValueError:需要多个值才能解压
可能与我数据中的样本数量有关吗?
Github上提供了与VLFeat的非正式Python接口的来源。
该vl_kmeans
默认功能只返回centers
,所以只有一个解压值:
import numpy as np
import vlfeat
x = np.random.rand(10, 8)
centers = vlfeat.vl_kmeans(x, 3)
所得的centers
阵列将具有形状(3, 8)
,即3个中心中的每个中心都有一个8维点。
如果要获取每个输入的分配,则必须将quantize
选项传递给vl_kmeans
函数。 然后,该函数确实返回centers
和assignment
,并且这按预期工作:
centers, assignments = vlfeat.vl_kmeans(x, 3, quantize=True)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.