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 &)
random returns a float64 matrix, you should convert it to float32
Most helpful comment
random returns a float64 matrix, you should convert it to float32