Faiss: Getting the following error for kmeans.train() function

Created on 20 Sep 2020  路  1Comment  路  Source: facebookresearch/faiss

The script kmeans.py:
`import numpy as np
import faiss

x = np.random.rand(4,2)

ncentroids = 2
niter = 20
verbose = True
d = x.shape[1]
print(d)
kmeans = faiss.Kmeans(d, ncentroids, niter=niter, verbose=verbose, spherical=True)
kmeans.train(x)`

Error:
Traceback (most recent call last):
File "kmeans.py", line 21, in
kmeans.train(x)
File "/opt/conda/lib/python3.7/site-packages/faiss/__init__.py", line 734, in train
clus.train(x, self.index, weights)
File "/opt/conda/lib/python3.7/site-packages/faiss/__init__.py", line 85, in replacement_train
self.train_c(n, swig_ptr(x), index)
File "/opt/conda/lib/python3.7/site-packages/faiss/swigfaiss.py", line 1094, in train
return _swigfaiss.Clustering_train(self, n, x, index, x_weights)
TypeError: Wrong number or type of arguments for overloaded function 'Clustering_train'.
Possible C/C++ prototypes are:
faiss::Clustering::train(faiss::Clustering::idx_t,float const *,faiss::Index &,float const *)
faiss::Clustering::train(faiss::Clustering::idx_t,float const *,faiss::Index &)

help wanted

Most helpful comment

random returns a float64 matrix, you should convert it to float32

>All comments

random returns a float64 matrix, you should convert it to float32

Was this page helpful?
0 / 5 - 0 ratings

Related issues

maozezhong picture maozezhong  路  3Comments

danny1984 picture danny1984  路  3Comments

wwmmqq picture wwmmqq  路  3Comments

linghuang picture linghuang  路  3Comments

zjjott picture zjjott  路  3Comments