繁体   English   中英

VLFeat:vl_kmeans中特定数量的群集的ValueError

[英]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函数。 然后,该函数确实返回centersassignment ,并且这按预期工作:

centers, assignments = vlfeat.vl_kmeans(x, 3, quantize=True)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM