forked from facebookresearch/faiss
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathswigfaiss.py
More file actions
2526 lines (2370 loc) · 153 KB
/
Copy pathswigfaiss.py
File metadata and controls
2526 lines (2370 loc) · 153 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# This file was automatically generated by SWIG (http://www.swig.org).
# Version 3.0.1
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.
from sys import version_info
if version_info >= (2,6,0):
def swig_import_helper():
from os.path import dirname
import imp
fp = None
try:
fp, pathname, description = imp.find_module('_swigfaiss', [dirname(__file__)])
except ImportError:
import _swigfaiss
return _swigfaiss
if fp is not None:
try:
_mod = imp.load_module('_swigfaiss', fp, pathname, description)
finally:
fp.close()
return _mod
_swigfaiss = swig_import_helper()
del swig_import_helper
else:
import _swigfaiss
del version_info
try:
_swig_property = property
except NameError:
pass # Python < 2.2 doesn't have 'property'.
def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
if (name == "thisown"): return self.this.own(value)
if (name == "this"):
if type(value).__name__ == 'SwigPyObject':
self.__dict__[name] = value
return
method = class_type.__swig_setmethods__.get(name,None)
if method: return method(self,value)
if (not static):
self.__dict__[name] = value
else:
raise AttributeError("You cannot add attributes to %s" % self)
def _swig_setattr(self,class_type,name,value):
return _swig_setattr_nondynamic(self,class_type,name,value,0)
def _swig_getattr(self,class_type,name):
if (name == "thisown"): return self.this.own()
method = class_type.__swig_getmethods__.get(name,None)
if method: return method(self)
raise AttributeError(name)
def _swig_repr(self):
try: strthis = "proxy of " + self.this.__repr__()
except: strthis = ""
return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
try:
_object = object
_newclass = 1
except AttributeError:
class _object : pass
_newclass = 0
class FloatVector(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, FloatVector, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, FloatVector, name)
__repr__ = _swig_repr
def __init__(self):
this = _swigfaiss.new_FloatVector()
try: self.this.append(this)
except: self.this = this
def push_back(self, *args): return _swigfaiss.FloatVector_push_back(self, *args)
def data(self): return _swigfaiss.FloatVector_data(self)
def size(self): return _swigfaiss.FloatVector_size(self)
def at(self, *args): return _swigfaiss.FloatVector_at(self, *args)
def resize(self, *args): return _swigfaiss.FloatVector_resize(self, *args)
__swig_destroy__ = _swigfaiss.delete_FloatVector
__del__ = lambda self : None;
FloatVector_swigregister = _swigfaiss.FloatVector_swigregister
FloatVector_swigregister(FloatVector)
class ByteVector(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, ByteVector, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, ByteVector, name)
__repr__ = _swig_repr
def __init__(self):
this = _swigfaiss.new_ByteVector()
try: self.this.append(this)
except: self.this = this
def push_back(self, *args): return _swigfaiss.ByteVector_push_back(self, *args)
def data(self): return _swigfaiss.ByteVector_data(self)
def size(self): return _swigfaiss.ByteVector_size(self)
def at(self, *args): return _swigfaiss.ByteVector_at(self, *args)
def resize(self, *args): return _swigfaiss.ByteVector_resize(self, *args)
__swig_destroy__ = _swigfaiss.delete_ByteVector
__del__ = lambda self : None;
ByteVector_swigregister = _swigfaiss.ByteVector_swigregister
ByteVector_swigregister(ByteVector)
class Uint64Vector(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, Uint64Vector, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, Uint64Vector, name)
__repr__ = _swig_repr
def __init__(self):
this = _swigfaiss.new_Uint64Vector()
try: self.this.append(this)
except: self.this = this
def push_back(self, *args): return _swigfaiss.Uint64Vector_push_back(self, *args)
def data(self): return _swigfaiss.Uint64Vector_data(self)
def size(self): return _swigfaiss.Uint64Vector_size(self)
def at(self, *args): return _swigfaiss.Uint64Vector_at(self, *args)
def resize(self, *args): return _swigfaiss.Uint64Vector_resize(self, *args)
__swig_destroy__ = _swigfaiss.delete_Uint64Vector
__del__ = lambda self : None;
Uint64Vector_swigregister = _swigfaiss.Uint64Vector_swigregister
Uint64Vector_swigregister(Uint64Vector)
class LongVector(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, LongVector, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, LongVector, name)
__repr__ = _swig_repr
def __init__(self):
this = _swigfaiss.new_LongVector()
try: self.this.append(this)
except: self.this = this
def push_back(self, *args): return _swigfaiss.LongVector_push_back(self, *args)
def data(self): return _swigfaiss.LongVector_data(self)
def size(self): return _swigfaiss.LongVector_size(self)
def at(self, *args): return _swigfaiss.LongVector_at(self, *args)
def resize(self, *args): return _swigfaiss.LongVector_resize(self, *args)
__swig_destroy__ = _swigfaiss.delete_LongVector
__del__ = lambda self : None;
LongVector_swigregister = _swigfaiss.LongVector_swigregister
LongVector_swigregister(LongVector)
class IntVector(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, IntVector, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, IntVector, name)
__repr__ = _swig_repr
def __init__(self):
this = _swigfaiss.new_IntVector()
try: self.this.append(this)
except: self.this = this
def push_back(self, *args): return _swigfaiss.IntVector_push_back(self, *args)
def data(self): return _swigfaiss.IntVector_data(self)
def size(self): return _swigfaiss.IntVector_size(self)
def at(self, *args): return _swigfaiss.IntVector_at(self, *args)
def resize(self, *args): return _swigfaiss.IntVector_resize(self, *args)
__swig_destroy__ = _swigfaiss.delete_IntVector
__del__ = lambda self : None;
IntVector_swigregister = _swigfaiss.IntVector_swigregister
IntVector_swigregister(IntVector)
class VectorTransformVector(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, VectorTransformVector, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, VectorTransformVector, name)
__repr__ = _swig_repr
def __init__(self):
this = _swigfaiss.new_VectorTransformVector()
try: self.this.append(this)
except: self.this = this
def push_back(self, *args): return _swigfaiss.VectorTransformVector_push_back(self, *args)
def data(self): return _swigfaiss.VectorTransformVector_data(self)
def size(self): return _swigfaiss.VectorTransformVector_size(self)
def at(self, *args): return _swigfaiss.VectorTransformVector_at(self, *args)
def resize(self, *args): return _swigfaiss.VectorTransformVector_resize(self, *args)
__swig_destroy__ = _swigfaiss.delete_VectorTransformVector
__del__ = lambda self : None;
VectorTransformVector_swigregister = _swigfaiss.VectorTransformVector_swigregister
VectorTransformVector_swigregister(VectorTransformVector)
class OperatingPointVector(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, OperatingPointVector, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, OperatingPointVector, name)
__repr__ = _swig_repr
def __init__(self):
this = _swigfaiss.new_OperatingPointVector()
try: self.this.append(this)
except: self.this = this
def push_back(self, *args): return _swigfaiss.OperatingPointVector_push_back(self, *args)
def data(self): return _swigfaiss.OperatingPointVector_data(self)
def size(self): return _swigfaiss.OperatingPointVector_size(self)
def at(self, *args): return _swigfaiss.OperatingPointVector_at(self, *args)
def resize(self, *args): return _swigfaiss.OperatingPointVector_resize(self, *args)
__swig_destroy__ = _swigfaiss.delete_OperatingPointVector
__del__ = lambda self : None;
OperatingPointVector_swigregister = _swigfaiss.OperatingPointVector_swigregister
OperatingPointVector_swigregister(OperatingPointVector)
def popcount64(*args):
return _swigfaiss.popcount64(*args)
popcount64 = _swigfaiss.popcount64
def hammings(*args):
return _swigfaiss.hammings(*args)
hammings = _swigfaiss.hammings
def bitvec_print(*args):
return _swigfaiss.bitvec_print(*args)
bitvec_print = _swigfaiss.bitvec_print
def fvecs2bitvecs(*args):
return _swigfaiss.fvecs2bitvecs(*args)
fvecs2bitvecs = _swigfaiss.fvecs2bitvecs
def fvec2bitvec(*args):
return _swigfaiss.fvec2bitvec(*args)
fvec2bitvec = _swigfaiss.fvec2bitvec
def hammings_knn(*args):
return _swigfaiss.hammings_knn(*args)
hammings_knn = _swigfaiss.hammings_knn
def hammings_knn_core(*args):
return _swigfaiss.hammings_knn_core(*args)
hammings_knn_core = _swigfaiss.hammings_knn_core
def hamming_count_thres(*args):
return _swigfaiss.hamming_count_thres(*args)
hamming_count_thres = _swigfaiss.hamming_count_thres
def match_hamming_thres(*args):
return _swigfaiss.match_hamming_thres(*args)
match_hamming_thres = _swigfaiss.match_hamming_thres
def crosshamming_count_thres(*args):
return _swigfaiss.crosshamming_count_thres(*args)
crosshamming_count_thres = _swigfaiss.crosshamming_count_thres
class HammingComputer4(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, HammingComputer4, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, HammingComputer4, name)
__repr__ = _swig_repr
__swig_setmethods__["a0"] = _swigfaiss.HammingComputer4_a0_set
__swig_getmethods__["a0"] = _swigfaiss.HammingComputer4_a0_get
if _newclass:a0 = _swig_property(_swigfaiss.HammingComputer4_a0_get, _swigfaiss.HammingComputer4_a0_set)
def __init__(self, *args):
this = _swigfaiss.new_HammingComputer4(*args)
try: self.this.append(this)
except: self.this = this
def hamming(self, *args): return _swigfaiss.HammingComputer4_hamming(self, *args)
__swig_destroy__ = _swigfaiss.delete_HammingComputer4
__del__ = lambda self : None;
HammingComputer4_swigregister = _swigfaiss.HammingComputer4_swigregister
HammingComputer4_swigregister(HammingComputer4)
class HammingComputer8(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, HammingComputer8, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, HammingComputer8, name)
__repr__ = _swig_repr
__swig_setmethods__["a0"] = _swigfaiss.HammingComputer8_a0_set
__swig_getmethods__["a0"] = _swigfaiss.HammingComputer8_a0_get
if _newclass:a0 = _swig_property(_swigfaiss.HammingComputer8_a0_get, _swigfaiss.HammingComputer8_a0_set)
def __init__(self, *args):
this = _swigfaiss.new_HammingComputer8(*args)
try: self.this.append(this)
except: self.this = this
def hamming(self, *args): return _swigfaiss.HammingComputer8_hamming(self, *args)
__swig_destroy__ = _swigfaiss.delete_HammingComputer8
__del__ = lambda self : None;
HammingComputer8_swigregister = _swigfaiss.HammingComputer8_swigregister
HammingComputer8_swigregister(HammingComputer8)
class HammingComputer16(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, HammingComputer16, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, HammingComputer16, name)
__repr__ = _swig_repr
__swig_setmethods__["a0"] = _swigfaiss.HammingComputer16_a0_set
__swig_getmethods__["a0"] = _swigfaiss.HammingComputer16_a0_get
if _newclass:a0 = _swig_property(_swigfaiss.HammingComputer16_a0_get, _swigfaiss.HammingComputer16_a0_set)
__swig_setmethods__["a1"] = _swigfaiss.HammingComputer16_a1_set
__swig_getmethods__["a1"] = _swigfaiss.HammingComputer16_a1_get
if _newclass:a1 = _swig_property(_swigfaiss.HammingComputer16_a1_get, _swigfaiss.HammingComputer16_a1_set)
def __init__(self, *args):
this = _swigfaiss.new_HammingComputer16(*args)
try: self.this.append(this)
except: self.this = this
def hamming(self, *args): return _swigfaiss.HammingComputer16_hamming(self, *args)
__swig_destroy__ = _swigfaiss.delete_HammingComputer16
__del__ = lambda self : None;
HammingComputer16_swigregister = _swigfaiss.HammingComputer16_swigregister
HammingComputer16_swigregister(HammingComputer16)
class HammingComputer20(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, HammingComputer20, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, HammingComputer20, name)
__repr__ = _swig_repr
__swig_setmethods__["a0"] = _swigfaiss.HammingComputer20_a0_set
__swig_getmethods__["a0"] = _swigfaiss.HammingComputer20_a0_get
if _newclass:a0 = _swig_property(_swigfaiss.HammingComputer20_a0_get, _swigfaiss.HammingComputer20_a0_set)
__swig_setmethods__["a1"] = _swigfaiss.HammingComputer20_a1_set
__swig_getmethods__["a1"] = _swigfaiss.HammingComputer20_a1_get
if _newclass:a1 = _swig_property(_swigfaiss.HammingComputer20_a1_get, _swigfaiss.HammingComputer20_a1_set)
__swig_setmethods__["a2"] = _swigfaiss.HammingComputer20_a2_set
__swig_getmethods__["a2"] = _swigfaiss.HammingComputer20_a2_get
if _newclass:a2 = _swig_property(_swigfaiss.HammingComputer20_a2_get, _swigfaiss.HammingComputer20_a2_set)
def __init__(self, *args):
this = _swigfaiss.new_HammingComputer20(*args)
try: self.this.append(this)
except: self.this = this
def hamming(self, *args): return _swigfaiss.HammingComputer20_hamming(self, *args)
__swig_destroy__ = _swigfaiss.delete_HammingComputer20
__del__ = lambda self : None;
HammingComputer20_swigregister = _swigfaiss.HammingComputer20_swigregister
HammingComputer20_swigregister(HammingComputer20)
class HammingComputer32(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, HammingComputer32, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, HammingComputer32, name)
__repr__ = _swig_repr
__swig_setmethods__["a0"] = _swigfaiss.HammingComputer32_a0_set
__swig_getmethods__["a0"] = _swigfaiss.HammingComputer32_a0_get
if _newclass:a0 = _swig_property(_swigfaiss.HammingComputer32_a0_get, _swigfaiss.HammingComputer32_a0_set)
__swig_setmethods__["a1"] = _swigfaiss.HammingComputer32_a1_set
__swig_getmethods__["a1"] = _swigfaiss.HammingComputer32_a1_get
if _newclass:a1 = _swig_property(_swigfaiss.HammingComputer32_a1_get, _swigfaiss.HammingComputer32_a1_set)
__swig_setmethods__["a2"] = _swigfaiss.HammingComputer32_a2_set
__swig_getmethods__["a2"] = _swigfaiss.HammingComputer32_a2_get
if _newclass:a2 = _swig_property(_swigfaiss.HammingComputer32_a2_get, _swigfaiss.HammingComputer32_a2_set)
__swig_setmethods__["a3"] = _swigfaiss.HammingComputer32_a3_set
__swig_getmethods__["a3"] = _swigfaiss.HammingComputer32_a3_get
if _newclass:a3 = _swig_property(_swigfaiss.HammingComputer32_a3_get, _swigfaiss.HammingComputer32_a3_set)
def __init__(self, *args):
this = _swigfaiss.new_HammingComputer32(*args)
try: self.this.append(this)
except: self.this = this
def hamming(self, *args): return _swigfaiss.HammingComputer32_hamming(self, *args)
__swig_destroy__ = _swigfaiss.delete_HammingComputer32
__del__ = lambda self : None;
HammingComputer32_swigregister = _swigfaiss.HammingComputer32_swigregister
HammingComputer32_swigregister(HammingComputer32)
class HammingComputer64(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, HammingComputer64, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, HammingComputer64, name)
__repr__ = _swig_repr
__swig_setmethods__["a0"] = _swigfaiss.HammingComputer64_a0_set
__swig_getmethods__["a0"] = _swigfaiss.HammingComputer64_a0_get
if _newclass:a0 = _swig_property(_swigfaiss.HammingComputer64_a0_get, _swigfaiss.HammingComputer64_a0_set)
__swig_setmethods__["a1"] = _swigfaiss.HammingComputer64_a1_set
__swig_getmethods__["a1"] = _swigfaiss.HammingComputer64_a1_get
if _newclass:a1 = _swig_property(_swigfaiss.HammingComputer64_a1_get, _swigfaiss.HammingComputer64_a1_set)
__swig_setmethods__["a2"] = _swigfaiss.HammingComputer64_a2_set
__swig_getmethods__["a2"] = _swigfaiss.HammingComputer64_a2_get
if _newclass:a2 = _swig_property(_swigfaiss.HammingComputer64_a2_get, _swigfaiss.HammingComputer64_a2_set)
__swig_setmethods__["a3"] = _swigfaiss.HammingComputer64_a3_set
__swig_getmethods__["a3"] = _swigfaiss.HammingComputer64_a3_get
if _newclass:a3 = _swig_property(_swigfaiss.HammingComputer64_a3_get, _swigfaiss.HammingComputer64_a3_set)
__swig_setmethods__["a4"] = _swigfaiss.HammingComputer64_a4_set
__swig_getmethods__["a4"] = _swigfaiss.HammingComputer64_a4_get
if _newclass:a4 = _swig_property(_swigfaiss.HammingComputer64_a4_get, _swigfaiss.HammingComputer64_a4_set)
__swig_setmethods__["a5"] = _swigfaiss.HammingComputer64_a5_set
__swig_getmethods__["a5"] = _swigfaiss.HammingComputer64_a5_get
if _newclass:a5 = _swig_property(_swigfaiss.HammingComputer64_a5_get, _swigfaiss.HammingComputer64_a5_set)
__swig_setmethods__["a6"] = _swigfaiss.HammingComputer64_a6_set
__swig_getmethods__["a6"] = _swigfaiss.HammingComputer64_a6_get
if _newclass:a6 = _swig_property(_swigfaiss.HammingComputer64_a6_get, _swigfaiss.HammingComputer64_a6_set)
__swig_setmethods__["a7"] = _swigfaiss.HammingComputer64_a7_set
__swig_getmethods__["a7"] = _swigfaiss.HammingComputer64_a7_get
if _newclass:a7 = _swig_property(_swigfaiss.HammingComputer64_a7_get, _swigfaiss.HammingComputer64_a7_set)
def __init__(self, *args):
this = _swigfaiss.new_HammingComputer64(*args)
try: self.this.append(this)
except: self.this = this
def hamming(self, *args): return _swigfaiss.HammingComputer64_hamming(self, *args)
__swig_destroy__ = _swigfaiss.delete_HammingComputer64
__del__ = lambda self : None;
HammingComputer64_swigregister = _swigfaiss.HammingComputer64_swigregister
HammingComputer64_swigregister(HammingComputer64)
class HammingComputerM8(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, HammingComputerM8, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, HammingComputerM8, name)
__repr__ = _swig_repr
__swig_setmethods__["a"] = _swigfaiss.HammingComputerM8_a_set
__swig_getmethods__["a"] = _swigfaiss.HammingComputerM8_a_get
if _newclass:a = _swig_property(_swigfaiss.HammingComputerM8_a_get, _swigfaiss.HammingComputerM8_a_set)
__swig_setmethods__["n"] = _swigfaiss.HammingComputerM8_n_set
__swig_getmethods__["n"] = _swigfaiss.HammingComputerM8_n_get
if _newclass:n = _swig_property(_swigfaiss.HammingComputerM8_n_get, _swigfaiss.HammingComputerM8_n_set)
def __init__(self, *args):
this = _swigfaiss.new_HammingComputerM8(*args)
try: self.this.append(this)
except: self.this = this
def hamming(self, *args): return _swigfaiss.HammingComputerM8_hamming(self, *args)
__swig_destroy__ = _swigfaiss.delete_HammingComputerM8
__del__ = lambda self : None;
HammingComputerM8_swigregister = _swigfaiss.HammingComputerM8_swigregister
HammingComputerM8_swigregister(HammingComputerM8)
class HammingComputerM4(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, HammingComputerM4, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, HammingComputerM4, name)
__repr__ = _swig_repr
__swig_setmethods__["a"] = _swigfaiss.HammingComputerM4_a_set
__swig_getmethods__["a"] = _swigfaiss.HammingComputerM4_a_get
if _newclass:a = _swig_property(_swigfaiss.HammingComputerM4_a_get, _swigfaiss.HammingComputerM4_a_set)
__swig_setmethods__["n"] = _swigfaiss.HammingComputerM4_n_set
__swig_getmethods__["n"] = _swigfaiss.HammingComputerM4_n_get
if _newclass:n = _swig_property(_swigfaiss.HammingComputerM4_n_get, _swigfaiss.HammingComputerM4_n_set)
def __init__(self, *args):
this = _swigfaiss.new_HammingComputerM4(*args)
try: self.this.append(this)
except: self.this = this
def hamming(self, *args): return _swigfaiss.HammingComputerM4_hamming(self, *args)
__swig_destroy__ = _swigfaiss.delete_HammingComputerM4
__del__ = lambda self : None;
HammingComputerM4_swigregister = _swigfaiss.HammingComputerM4_swigregister
HammingComputerM4_swigregister(HammingComputerM4)
def generalized_hamming_64(*args):
return _swigfaiss.generalized_hamming_64(*args)
generalized_hamming_64 = _swigfaiss.generalized_hamming_64
class GenHammingComputer8(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, GenHammingComputer8, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, GenHammingComputer8, name)
__repr__ = _swig_repr
__swig_setmethods__["a0"] = _swigfaiss.GenHammingComputer8_a0_set
__swig_getmethods__["a0"] = _swigfaiss.GenHammingComputer8_a0_get
if _newclass:a0 = _swig_property(_swigfaiss.GenHammingComputer8_a0_get, _swigfaiss.GenHammingComputer8_a0_set)
def __init__(self, *args):
this = _swigfaiss.new_GenHammingComputer8(*args)
try: self.this.append(this)
except: self.this = this
def hamming(self, *args): return _swigfaiss.GenHammingComputer8_hamming(self, *args)
__swig_destroy__ = _swigfaiss.delete_GenHammingComputer8
__del__ = lambda self : None;
GenHammingComputer8_swigregister = _swigfaiss.GenHammingComputer8_swigregister
GenHammingComputer8_swigregister(GenHammingComputer8)
class GenHammingComputer16(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, GenHammingComputer16, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, GenHammingComputer16, name)
__repr__ = _swig_repr
__swig_setmethods__["a0"] = _swigfaiss.GenHammingComputer16_a0_set
__swig_getmethods__["a0"] = _swigfaiss.GenHammingComputer16_a0_get
if _newclass:a0 = _swig_property(_swigfaiss.GenHammingComputer16_a0_get, _swigfaiss.GenHammingComputer16_a0_set)
__swig_setmethods__["a1"] = _swigfaiss.GenHammingComputer16_a1_set
__swig_getmethods__["a1"] = _swigfaiss.GenHammingComputer16_a1_get
if _newclass:a1 = _swig_property(_swigfaiss.GenHammingComputer16_a1_get, _swigfaiss.GenHammingComputer16_a1_set)
def __init__(self, *args):
this = _swigfaiss.new_GenHammingComputer16(*args)
try: self.this.append(this)
except: self.this = this
def hamming(self, *args): return _swigfaiss.GenHammingComputer16_hamming(self, *args)
__swig_destroy__ = _swigfaiss.delete_GenHammingComputer16
__del__ = lambda self : None;
GenHammingComputer16_swigregister = _swigfaiss.GenHammingComputer16_swigregister
GenHammingComputer16_swigregister(GenHammingComputer16)
class GenHammingComputer32(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, GenHammingComputer32, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, GenHammingComputer32, name)
__repr__ = _swig_repr
__swig_setmethods__["a0"] = _swigfaiss.GenHammingComputer32_a0_set
__swig_getmethods__["a0"] = _swigfaiss.GenHammingComputer32_a0_get
if _newclass:a0 = _swig_property(_swigfaiss.GenHammingComputer32_a0_get, _swigfaiss.GenHammingComputer32_a0_set)
__swig_setmethods__["a1"] = _swigfaiss.GenHammingComputer32_a1_set
__swig_getmethods__["a1"] = _swigfaiss.GenHammingComputer32_a1_get
if _newclass:a1 = _swig_property(_swigfaiss.GenHammingComputer32_a1_get, _swigfaiss.GenHammingComputer32_a1_set)
__swig_setmethods__["a2"] = _swigfaiss.GenHammingComputer32_a2_set
__swig_getmethods__["a2"] = _swigfaiss.GenHammingComputer32_a2_get
if _newclass:a2 = _swig_property(_swigfaiss.GenHammingComputer32_a2_get, _swigfaiss.GenHammingComputer32_a2_set)
__swig_setmethods__["a3"] = _swigfaiss.GenHammingComputer32_a3_set
__swig_getmethods__["a3"] = _swigfaiss.GenHammingComputer32_a3_get
if _newclass:a3 = _swig_property(_swigfaiss.GenHammingComputer32_a3_get, _swigfaiss.GenHammingComputer32_a3_set)
def __init__(self, *args):
this = _swigfaiss.new_GenHammingComputer32(*args)
try: self.this.append(this)
except: self.this = this
def hamming(self, *args): return _swigfaiss.GenHammingComputer32_hamming(self, *args)
__swig_destroy__ = _swigfaiss.delete_GenHammingComputer32
__del__ = lambda self : None;
GenHammingComputer32_swigregister = _swigfaiss.GenHammingComputer32_swigregister
GenHammingComputer32_swigregister(GenHammingComputer32)
class GenHammingComputerM8(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, GenHammingComputerM8, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, GenHammingComputerM8, name)
__repr__ = _swig_repr
__swig_setmethods__["a"] = _swigfaiss.GenHammingComputerM8_a_set
__swig_getmethods__["a"] = _swigfaiss.GenHammingComputerM8_a_get
if _newclass:a = _swig_property(_swigfaiss.GenHammingComputerM8_a_get, _swigfaiss.GenHammingComputerM8_a_set)
__swig_setmethods__["n"] = _swigfaiss.GenHammingComputerM8_n_set
__swig_getmethods__["n"] = _swigfaiss.GenHammingComputerM8_n_get
if _newclass:n = _swig_property(_swigfaiss.GenHammingComputerM8_n_get, _swigfaiss.GenHammingComputerM8_n_set)
def __init__(self, *args):
this = _swigfaiss.new_GenHammingComputerM8(*args)
try: self.this.append(this)
except: self.this = this
def hamming(self, *args): return _swigfaiss.GenHammingComputerM8_hamming(self, *args)
__swig_destroy__ = _swigfaiss.delete_GenHammingComputerM8
__del__ = lambda self : None;
GenHammingComputerM8_swigregister = _swigfaiss.GenHammingComputerM8_swigregister
GenHammingComputerM8_swigregister(GenHammingComputerM8)
def generalized_hammings_knn(*args):
return _swigfaiss.generalized_hammings_knn(*args)
generalized_hammings_knn = _swigfaiss.generalized_hammings_knn
def get_num_gpus():
return _swigfaiss.get_num_gpus()
get_num_gpus = _swigfaiss.get_num_gpus
def getmillisecs():
return _swigfaiss.getmillisecs()
getmillisecs = _swigfaiss.getmillisecs
def get_mem_usage_kb():
return _swigfaiss.get_mem_usage_kb()
get_mem_usage_kb = _swigfaiss.get_mem_usage_kb
class RandomGenerator(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, RandomGenerator, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, RandomGenerator, name)
__repr__ = _swig_repr
def rand_long(self): return _swigfaiss.RandomGenerator_rand_long(self)
def rand_int(self, *args): return _swigfaiss.RandomGenerator_rand_int(self, *args)
def rand_float(self): return _swigfaiss.RandomGenerator_rand_float(self)
def rand_double(self): return _swigfaiss.RandomGenerator_rand_double(self)
def __init__(self, *args):
this = _swigfaiss.new_RandomGenerator(*args)
try: self.this.append(this)
except: self.this = this
__swig_destroy__ = _swigfaiss.delete_RandomGenerator
__del__ = lambda self : None;
RandomGenerator_swigregister = _swigfaiss.RandomGenerator_swigregister
RandomGenerator_swigregister(RandomGenerator)
def float_rand(*args):
return _swigfaiss.float_rand(*args)
float_rand = _swigfaiss.float_rand
def float_randn(*args):
return _swigfaiss.float_randn(*args)
float_randn = _swigfaiss.float_randn
def long_rand(*args):
return _swigfaiss.long_rand(*args)
long_rand = _swigfaiss.long_rand
def byte_rand(*args):
return _swigfaiss.byte_rand(*args)
byte_rand = _swigfaiss.byte_rand
def rand_perm(*args):
return _swigfaiss.rand_perm(*args)
rand_perm = _swigfaiss.rand_perm
def fvec_L2sqr(*args):
return _swigfaiss.fvec_L2sqr(*args)
fvec_L2sqr = _swigfaiss.fvec_L2sqr
def fvec_inner_product(*args):
return _swigfaiss.fvec_inner_product(*args)
fvec_inner_product = _swigfaiss.fvec_inner_product
def imbalance_factor(*args):
return _swigfaiss.imbalance_factor(*args)
imbalance_factor = _swigfaiss.imbalance_factor
def pairwise_L2sqr(*args):
return _swigfaiss.pairwise_L2sqr(*args)
pairwise_L2sqr = _swigfaiss.pairwise_L2sqr
def fvec_inner_products_ny(*args):
return _swigfaiss.fvec_inner_products_ny(*args)
fvec_inner_products_ny = _swigfaiss.fvec_inner_products_ny
def fvec_L2sqr_ny(*args):
return _swigfaiss.fvec_L2sqr_ny(*args)
fvec_L2sqr_ny = _swigfaiss.fvec_L2sqr_ny
def fvec_norm_L2sqr(*args):
return _swigfaiss.fvec_norm_L2sqr(*args)
fvec_norm_L2sqr = _swigfaiss.fvec_norm_L2sqr
def fvec_norms_L2(*args):
return _swigfaiss.fvec_norms_L2(*args)
fvec_norms_L2 = _swigfaiss.fvec_norms_L2
def fvec_norms_L2sqr(*args):
return _swigfaiss.fvec_norms_L2sqr(*args)
fvec_norms_L2sqr = _swigfaiss.fvec_norms_L2sqr
def fvec_renorm_L2(*args):
return _swigfaiss.fvec_renorm_L2(*args)
fvec_renorm_L2 = _swigfaiss.fvec_renorm_L2
def inner_product_to_L2sqr(*args):
return _swigfaiss.inner_product_to_L2sqr(*args)
inner_product_to_L2sqr = _swigfaiss.inner_product_to_L2sqr
def fvec_inner_products_by_idx(*args):
return _swigfaiss.fvec_inner_products_by_idx(*args)
fvec_inner_products_by_idx = _swigfaiss.fvec_inner_products_by_idx
def fvec_L2sqr_by_idx(*args):
return _swigfaiss.fvec_L2sqr_by_idx(*args)
fvec_L2sqr_by_idx = _swigfaiss.fvec_L2sqr_by_idx
def knn_inner_product(*args):
return _swigfaiss.knn_inner_product(*args)
knn_inner_product = _swigfaiss.knn_inner_product
def knn_L2sqr(*args):
return _swigfaiss.knn_L2sqr(*args)
knn_L2sqr = _swigfaiss.knn_L2sqr
def knn_L2sqr_base_shift(*args):
return _swigfaiss.knn_L2sqr_base_shift(*args)
knn_L2sqr_base_shift = _swigfaiss.knn_L2sqr_base_shift
def knn_inner_products_by_idx(*args):
return _swigfaiss.knn_inner_products_by_idx(*args)
knn_inner_products_by_idx = _swigfaiss.knn_inner_products_by_idx
def knn_L2sqr_by_idx(*args):
return _swigfaiss.knn_L2sqr_by_idx(*args)
knn_L2sqr_by_idx = _swigfaiss.knn_L2sqr_by_idx
def range_search_L2sqr(*args):
return _swigfaiss.range_search_L2sqr(*args)
range_search_L2sqr = _swigfaiss.range_search_L2sqr
def range_search_inner_product(*args):
return _swigfaiss.range_search_inner_product(*args)
range_search_inner_product = _swigfaiss.range_search_inner_product
def fvec_madd(*args):
return _swigfaiss.fvec_madd(*args)
fvec_madd = _swigfaiss.fvec_madd
def fvec_madd_and_argmin(*args):
return _swigfaiss.fvec_madd_and_argmin(*args)
fvec_madd_and_argmin = _swigfaiss.fvec_madd_and_argmin
def reflection(*args):
return _swigfaiss.reflection(*args)
reflection = _swigfaiss.reflection
def km_update_centroids(*args):
return _swigfaiss.km_update_centroids(*args)
km_update_centroids = _swigfaiss.km_update_centroids
def matrix_qr(*args):
return _swigfaiss.matrix_qr(*args)
matrix_qr = _swigfaiss.matrix_qr
def ranklist_handle_ties(*args):
return _swigfaiss.ranklist_handle_ties(*args)
ranklist_handle_ties = _swigfaiss.ranklist_handle_ties
def ranklist_intersection_size(*args):
return _swigfaiss.ranklist_intersection_size(*args)
ranklist_intersection_size = _swigfaiss.ranklist_intersection_size
def fvec_argsort(*args):
return _swigfaiss.fvec_argsort(*args)
fvec_argsort = _swigfaiss.fvec_argsort
def fvec_argsort_parallel(*args):
return _swigfaiss.fvec_argsort_parallel(*args)
fvec_argsort_parallel = _swigfaiss.fvec_argsort_parallel
def ivec_hist(*args):
return _swigfaiss.ivec_hist(*args)
ivec_hist = _swigfaiss.ivec_hist
def bincode_hist(*args):
return _swigfaiss.bincode_hist(*args)
bincode_hist = _swigfaiss.bincode_hist
def ivec_checksum(*args):
return _swigfaiss.ivec_checksum(*args)
ivec_checksum = _swigfaiss.ivec_checksum
METRIC_INNER_PRODUCT = _swigfaiss.METRIC_INNER_PRODUCT
METRIC_L2 = _swigfaiss.METRIC_L2
class Index(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, Index, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, Index, name)
def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract")
__repr__ = _swig_repr
__swig_setmethods__["index_typename"] = _swigfaiss.Index_index_typename_set
__swig_getmethods__["index_typename"] = _swigfaiss.Index_index_typename_get
if _newclass:index_typename = _swig_property(_swigfaiss.Index_index_typename_get, _swigfaiss.Index_index_typename_set)
__swig_setmethods__["d"] = _swigfaiss.Index_d_set
__swig_getmethods__["d"] = _swigfaiss.Index_d_get
if _newclass:d = _swig_property(_swigfaiss.Index_d_get, _swigfaiss.Index_d_set)
__swig_setmethods__["ntotal"] = _swigfaiss.Index_ntotal_set
__swig_getmethods__["ntotal"] = _swigfaiss.Index_ntotal_get
if _newclass:ntotal = _swig_property(_swigfaiss.Index_ntotal_get, _swigfaiss.Index_ntotal_set)
__swig_setmethods__["verbose"] = _swigfaiss.Index_verbose_set
__swig_getmethods__["verbose"] = _swigfaiss.Index_verbose_get
if _newclass:verbose = _swig_property(_swigfaiss.Index_verbose_get, _swigfaiss.Index_verbose_set)
__swig_setmethods__["is_trained"] = _swigfaiss.Index_is_trained_set
__swig_getmethods__["is_trained"] = _swigfaiss.Index_is_trained_get
if _newclass:is_trained = _swig_property(_swigfaiss.Index_is_trained_get, _swigfaiss.Index_is_trained_set)
__swig_setmethods__["metric_type"] = _swigfaiss.Index_metric_type_set
__swig_getmethods__["metric_type"] = _swigfaiss.Index_metric_type_get
if _newclass:metric_type = _swig_property(_swigfaiss.Index_metric_type_get, _swigfaiss.Index_metric_type_set)
__swig_destroy__ = _swigfaiss.delete_Index
__del__ = lambda self : None;
def train(self, *args): return _swigfaiss.Index_train(self, *args)
def add(self, *args): return _swigfaiss.Index_add(self, *args)
def add_with_ids(self, *args): return _swigfaiss.Index_add_with_ids(self, *args)
def search(self, *args): return _swigfaiss.Index_search(self, *args)
def range_search(self, *args): return _swigfaiss.Index_range_search(self, *args)
def assign(self, *args): return _swigfaiss.Index_assign(self, *args)
def reset(self): return _swigfaiss.Index_reset(self)
def remove_ids(self, *args): return _swigfaiss.Index_remove_ids(self, *args)
def reconstruct(self, *args): return _swigfaiss.Index_reconstruct(self, *args)
def reconstruct_n(self, *args): return _swigfaiss.Index_reconstruct_n(self, *args)
def compute_residual(self, *args): return _swigfaiss.Index_compute_residual(self, *args)
def display(self): return _swigfaiss.Index_display(self)
def get_typename(self): return _swigfaiss.Index_get_typename(self)
def set_typename(self): return _swigfaiss.Index_set_typename(self)
Index_swigregister = _swigfaiss.Index_swigregister
Index_swigregister(Index)
class ClusteringParameters(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, ClusteringParameters, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, ClusteringParameters, name)
__repr__ = _swig_repr
__swig_setmethods__["niter"] = _swigfaiss.ClusteringParameters_niter_set
__swig_getmethods__["niter"] = _swigfaiss.ClusteringParameters_niter_get
if _newclass:niter = _swig_property(_swigfaiss.ClusteringParameters_niter_get, _swigfaiss.ClusteringParameters_niter_set)
__swig_setmethods__["nredo"] = _swigfaiss.ClusteringParameters_nredo_set
__swig_getmethods__["nredo"] = _swigfaiss.ClusteringParameters_nredo_get
if _newclass:nredo = _swig_property(_swigfaiss.ClusteringParameters_nredo_get, _swigfaiss.ClusteringParameters_nredo_set)
__swig_setmethods__["verbose"] = _swigfaiss.ClusteringParameters_verbose_set
__swig_getmethods__["verbose"] = _swigfaiss.ClusteringParameters_verbose_get
if _newclass:verbose = _swig_property(_swigfaiss.ClusteringParameters_verbose_get, _swigfaiss.ClusteringParameters_verbose_set)
__swig_setmethods__["spherical"] = _swigfaiss.ClusteringParameters_spherical_set
__swig_getmethods__["spherical"] = _swigfaiss.ClusteringParameters_spherical_get
if _newclass:spherical = _swig_property(_swigfaiss.ClusteringParameters_spherical_get, _swigfaiss.ClusteringParameters_spherical_set)
__swig_setmethods__["update_index"] = _swigfaiss.ClusteringParameters_update_index_set
__swig_getmethods__["update_index"] = _swigfaiss.ClusteringParameters_update_index_get
if _newclass:update_index = _swig_property(_swigfaiss.ClusteringParameters_update_index_get, _swigfaiss.ClusteringParameters_update_index_set)
__swig_setmethods__["min_points_per_centroid"] = _swigfaiss.ClusteringParameters_min_points_per_centroid_set
__swig_getmethods__["min_points_per_centroid"] = _swigfaiss.ClusteringParameters_min_points_per_centroid_get
if _newclass:min_points_per_centroid = _swig_property(_swigfaiss.ClusteringParameters_min_points_per_centroid_get, _swigfaiss.ClusteringParameters_min_points_per_centroid_set)
__swig_setmethods__["max_points_per_centroid"] = _swigfaiss.ClusteringParameters_max_points_per_centroid_set
__swig_getmethods__["max_points_per_centroid"] = _swigfaiss.ClusteringParameters_max_points_per_centroid_get
if _newclass:max_points_per_centroid = _swig_property(_swigfaiss.ClusteringParameters_max_points_per_centroid_get, _swigfaiss.ClusteringParameters_max_points_per_centroid_set)
__swig_setmethods__["seed"] = _swigfaiss.ClusteringParameters_seed_set
__swig_getmethods__["seed"] = _swigfaiss.ClusteringParameters_seed_get
if _newclass:seed = _swig_property(_swigfaiss.ClusteringParameters_seed_get, _swigfaiss.ClusteringParameters_seed_set)
def __init__(self):
this = _swigfaiss.new_ClusteringParameters()
try: self.this.append(this)
except: self.this = this
__swig_destroy__ = _swigfaiss.delete_ClusteringParameters
__del__ = lambda self : None;
ClusteringParameters_swigregister = _swigfaiss.ClusteringParameters_swigregister
ClusteringParameters_swigregister(ClusteringParameters)
class Clustering(ClusteringParameters):
__swig_setmethods__ = {}
for _s in [ClusteringParameters]: __swig_setmethods__.update(getattr(_s,'__swig_setmethods__',{}))
__setattr__ = lambda self, name, value: _swig_setattr(self, Clustering, name, value)
__swig_getmethods__ = {}
for _s in [ClusteringParameters]: __swig_getmethods__.update(getattr(_s,'__swig_getmethods__',{}))
__getattr__ = lambda self, name: _swig_getattr(self, Clustering, name)
__repr__ = _swig_repr
__swig_setmethods__["d"] = _swigfaiss.Clustering_d_set
__swig_getmethods__["d"] = _swigfaiss.Clustering_d_get
if _newclass:d = _swig_property(_swigfaiss.Clustering_d_get, _swigfaiss.Clustering_d_set)
__swig_setmethods__["k"] = _swigfaiss.Clustering_k_set
__swig_getmethods__["k"] = _swigfaiss.Clustering_k_get
if _newclass:k = _swig_property(_swigfaiss.Clustering_k_get, _swigfaiss.Clustering_k_set)
__swig_setmethods__["centroids"] = _swigfaiss.Clustering_centroids_set
__swig_getmethods__["centroids"] = _swigfaiss.Clustering_centroids_get
if _newclass:centroids = _swig_property(_swigfaiss.Clustering_centroids_get, _swigfaiss.Clustering_centroids_set)
__swig_setmethods__["obj"] = _swigfaiss.Clustering_obj_set
__swig_getmethods__["obj"] = _swigfaiss.Clustering_obj_get
if _newclass:obj = _swig_property(_swigfaiss.Clustering_obj_get, _swigfaiss.Clustering_obj_set)
def __init__(self, *args):
this = _swigfaiss.new_Clustering(*args)
try: self.this.append(this)
except: self.this = this
def train(self, *args): return _swigfaiss.Clustering_train(self, *args)
__swig_destroy__ = _swigfaiss.delete_Clustering
__del__ = lambda self : None;
Clustering_swigregister = _swigfaiss.Clustering_swigregister
Clustering_swigregister(Clustering)
def kmeans_clustering(*args):
return _swigfaiss.kmeans_clustering(*args)
kmeans_clustering = _swigfaiss.kmeans_clustering
class ProductQuantizer(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, ProductQuantizer, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, ProductQuantizer, name)
__repr__ = _swig_repr
__swig_setmethods__["d"] = _swigfaiss.ProductQuantizer_d_set
__swig_getmethods__["d"] = _swigfaiss.ProductQuantizer_d_get
if _newclass:d = _swig_property(_swigfaiss.ProductQuantizer_d_get, _swigfaiss.ProductQuantizer_d_set)
__swig_setmethods__["M"] = _swigfaiss.ProductQuantizer_M_set
__swig_getmethods__["M"] = _swigfaiss.ProductQuantizer_M_get
if _newclass:M = _swig_property(_swigfaiss.ProductQuantizer_M_get, _swigfaiss.ProductQuantizer_M_set)
__swig_setmethods__["nbits"] = _swigfaiss.ProductQuantizer_nbits_set
__swig_getmethods__["nbits"] = _swigfaiss.ProductQuantizer_nbits_get
if _newclass:nbits = _swig_property(_swigfaiss.ProductQuantizer_nbits_get, _swigfaiss.ProductQuantizer_nbits_set)
__swig_setmethods__["dsub"] = _swigfaiss.ProductQuantizer_dsub_set
__swig_getmethods__["dsub"] = _swigfaiss.ProductQuantizer_dsub_get
if _newclass:dsub = _swig_property(_swigfaiss.ProductQuantizer_dsub_get, _swigfaiss.ProductQuantizer_dsub_set)
__swig_setmethods__["byte_per_idx"] = _swigfaiss.ProductQuantizer_byte_per_idx_set
__swig_getmethods__["byte_per_idx"] = _swigfaiss.ProductQuantizer_byte_per_idx_get
if _newclass:byte_per_idx = _swig_property(_swigfaiss.ProductQuantizer_byte_per_idx_get, _swigfaiss.ProductQuantizer_byte_per_idx_set)
__swig_setmethods__["code_size"] = _swigfaiss.ProductQuantizer_code_size_set
__swig_getmethods__["code_size"] = _swigfaiss.ProductQuantizer_code_size_get
if _newclass:code_size = _swig_property(_swigfaiss.ProductQuantizer_code_size_get, _swigfaiss.ProductQuantizer_code_size_set)
__swig_setmethods__["ksub"] = _swigfaiss.ProductQuantizer_ksub_set
__swig_getmethods__["ksub"] = _swigfaiss.ProductQuantizer_ksub_get
if _newclass:ksub = _swig_property(_swigfaiss.ProductQuantizer_ksub_get, _swigfaiss.ProductQuantizer_ksub_set)
__swig_setmethods__["verbose"] = _swigfaiss.ProductQuantizer_verbose_set
__swig_getmethods__["verbose"] = _swigfaiss.ProductQuantizer_verbose_get
if _newclass:verbose = _swig_property(_swigfaiss.ProductQuantizer_verbose_get, _swigfaiss.ProductQuantizer_verbose_set)
Train_default = _swigfaiss.ProductQuantizer_Train_default
Train_hot_start = _swigfaiss.ProductQuantizer_Train_hot_start
Train_shared = _swigfaiss.ProductQuantizer_Train_shared
Train_hypercube = _swigfaiss.ProductQuantizer_Train_hypercube
Train_hypercube_pca = _swigfaiss.ProductQuantizer_Train_hypercube_pca
__swig_setmethods__["train_type"] = _swigfaiss.ProductQuantizer_train_type_set
__swig_getmethods__["train_type"] = _swigfaiss.ProductQuantizer_train_type_get
if _newclass:train_type = _swig_property(_swigfaiss.ProductQuantizer_train_type_get, _swigfaiss.ProductQuantizer_train_type_set)
__swig_setmethods__["cp"] = _swigfaiss.ProductQuantizer_cp_set
__swig_getmethods__["cp"] = _swigfaiss.ProductQuantizer_cp_get
if _newclass:cp = _swig_property(_swigfaiss.ProductQuantizer_cp_get, _swigfaiss.ProductQuantizer_cp_set)
__swig_setmethods__["centroids"] = _swigfaiss.ProductQuantizer_centroids_set
__swig_getmethods__["centroids"] = _swigfaiss.ProductQuantizer_centroids_get
if _newclass:centroids = _swig_property(_swigfaiss.ProductQuantizer_centroids_get, _swigfaiss.ProductQuantizer_centroids_set)
def get_centroids(self, *args): return _swigfaiss.ProductQuantizer_get_centroids(self, *args)
def train(self, *args): return _swigfaiss.ProductQuantizer_train(self, *args)
def __init__(self, *args):
this = _swigfaiss.new_ProductQuantizer(*args)
try: self.this.append(this)
except: self.this = this
def set_derived_values(self): return _swigfaiss.ProductQuantizer_set_derived_values(self)
def set_params(self, *args): return _swigfaiss.ProductQuantizer_set_params(self, *args)
def compute_code(self, *args): return _swigfaiss.ProductQuantizer_compute_code(self, *args)
def compute_codes(self, *args): return _swigfaiss.ProductQuantizer_compute_codes(self, *args)
def decode(self, *args): return _swigfaiss.ProductQuantizer_decode(self, *args)
def compute_code_from_distance_table(self, *args): return _swigfaiss.ProductQuantizer_compute_code_from_distance_table(self, *args)
def compute_distance_table(self, *args): return _swigfaiss.ProductQuantizer_compute_distance_table(self, *args)
def compute_inner_prod_table(self, *args): return _swigfaiss.ProductQuantizer_compute_inner_prod_table(self, *args)
def compute_distance_tables(self, *args): return _swigfaiss.ProductQuantizer_compute_distance_tables(self, *args)
def compute_inner_prod_tables(self, *args): return _swigfaiss.ProductQuantizer_compute_inner_prod_tables(self, *args)
def search(self, *args): return _swigfaiss.ProductQuantizer_search(self, *args)
def search_ip(self, *args): return _swigfaiss.ProductQuantizer_search_ip(self, *args)
__swig_setmethods__["sdc_table"] = _swigfaiss.ProductQuantizer_sdc_table_set
__swig_getmethods__["sdc_table"] = _swigfaiss.ProductQuantizer_sdc_table_get
if _newclass:sdc_table = _swig_property(_swigfaiss.ProductQuantizer_sdc_table_get, _swigfaiss.ProductQuantizer_sdc_table_set)
def compute_sdc_table(self): return _swigfaiss.ProductQuantizer_compute_sdc_table(self)
def search_sdc(self, *args): return _swigfaiss.ProductQuantizer_search_sdc(self, *args)
__swig_destroy__ = _swigfaiss.delete_ProductQuantizer
__del__ = lambda self : None;
ProductQuantizer_swigregister = _swigfaiss.ProductQuantizer_swigregister
ProductQuantizer_swigregister(ProductQuantizer)
class VectorTransform(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, VectorTransform, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, VectorTransform, name)
def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract")
__repr__ = _swig_repr
__swig_setmethods__["d_in"] = _swigfaiss.VectorTransform_d_in_set
__swig_getmethods__["d_in"] = _swigfaiss.VectorTransform_d_in_get
if _newclass:d_in = _swig_property(_swigfaiss.VectorTransform_d_in_get, _swigfaiss.VectorTransform_d_in_set)
__swig_setmethods__["d_out"] = _swigfaiss.VectorTransform_d_out_set
__swig_getmethods__["d_out"] = _swigfaiss.VectorTransform_d_out_get
if _newclass:d_out = _swig_property(_swigfaiss.VectorTransform_d_out_get, _swigfaiss.VectorTransform_d_out_set)
__swig_setmethods__["is_trained"] = _swigfaiss.VectorTransform_is_trained_set
__swig_getmethods__["is_trained"] = _swigfaiss.VectorTransform_is_trained_get
if _newclass:is_trained = _swig_property(_swigfaiss.VectorTransform_is_trained_get, _swigfaiss.VectorTransform_is_trained_set)
def train(self, *args): return _swigfaiss.VectorTransform_train(self, *args)
def apply(self, *args): return _swigfaiss.VectorTransform_apply(self, *args)
def apply_noalloc(self, *args): return _swigfaiss.VectorTransform_apply_noalloc(self, *args)
def reverse_transform(self, *args): return _swigfaiss.VectorTransform_reverse_transform(self, *args)
__swig_destroy__ = _swigfaiss.delete_VectorTransform
__del__ = lambda self : None;
VectorTransform_swigregister = _swigfaiss.VectorTransform_swigregister
VectorTransform_swigregister(VectorTransform)
class LinearTransform(VectorTransform):
__swig_setmethods__ = {}
for _s in [VectorTransform]: __swig_setmethods__.update(getattr(_s,'__swig_setmethods__',{}))
__setattr__ = lambda self, name, value: _swig_setattr(self, LinearTransform, name, value)
__swig_getmethods__ = {}
for _s in [VectorTransform]: __swig_getmethods__.update(getattr(_s,'__swig_getmethods__',{}))
__getattr__ = lambda self, name: _swig_getattr(self, LinearTransform, name)
__repr__ = _swig_repr
__swig_setmethods__["have_bias"] = _swigfaiss.LinearTransform_have_bias_set
__swig_getmethods__["have_bias"] = _swigfaiss.LinearTransform_have_bias_get
if _newclass:have_bias = _swig_property(_swigfaiss.LinearTransform_have_bias_get, _swigfaiss.LinearTransform_have_bias_set)
__swig_setmethods__["A"] = _swigfaiss.LinearTransform_A_set
__swig_getmethods__["A"] = _swigfaiss.LinearTransform_A_get
if _newclass:A = _swig_property(_swigfaiss.LinearTransform_A_get, _swigfaiss.LinearTransform_A_set)
__swig_setmethods__["b"] = _swigfaiss.LinearTransform_b_set
__swig_getmethods__["b"] = _swigfaiss.LinearTransform_b_get
if _newclass:b = _swig_property(_swigfaiss.LinearTransform_b_get, _swigfaiss.LinearTransform_b_set)
def __init__(self, d_in=0, d_out=0, have_bias=False):
this = _swigfaiss.new_LinearTransform(d_in, d_out, have_bias)
try: self.this.append(this)
except: self.this = this
def apply_noalloc(self, *args): return _swigfaiss.LinearTransform_apply_noalloc(self, *args)
def transform_transpose(self, *args): return _swigfaiss.LinearTransform_transform_transpose(self, *args)
__swig_setmethods__["max_points_per_d"] = _swigfaiss.LinearTransform_max_points_per_d_set
__swig_getmethods__["max_points_per_d"] = _swigfaiss.LinearTransform_max_points_per_d_get
if _newclass:max_points_per_d = _swig_property(_swigfaiss.LinearTransform_max_points_per_d_get, _swigfaiss.LinearTransform_max_points_per_d_set)
__swig_setmethods__["verbose"] = _swigfaiss.LinearTransform_verbose_set
__swig_getmethods__["verbose"] = _swigfaiss.LinearTransform_verbose_get
if _newclass:verbose = _swig_property(_swigfaiss.LinearTransform_verbose_get, _swigfaiss.LinearTransform_verbose_set)
def maybe_subsample_train_set(self, *args): return _swigfaiss.LinearTransform_maybe_subsample_train_set(self, *args)
__swig_destroy__ = _swigfaiss.delete_LinearTransform
__del__ = lambda self : None;
LinearTransform_swigregister = _swigfaiss.LinearTransform_swigregister
LinearTransform_swigregister(LinearTransform)
class RandomRotationMatrix(LinearTransform):
__swig_setmethods__ = {}
for _s in [LinearTransform]: __swig_setmethods__.update(getattr(_s,'__swig_setmethods__',{}))
__setattr__ = lambda self, name, value: _swig_setattr(self, RandomRotationMatrix, name, value)
__swig_getmethods__ = {}
for _s in [LinearTransform]: __swig_getmethods__.update(getattr(_s,'__swig_getmethods__',{}))
__getattr__ = lambda self, name: _swig_getattr(self, RandomRotationMatrix, name)
__repr__ = _swig_repr
def init(self, *args): return _swigfaiss.RandomRotationMatrix_init(self, *args)
def reverse_transform(self, *args): return _swigfaiss.RandomRotationMatrix_reverse_transform(self, *args)
def __init__(self, *args):
this = _swigfaiss.new_RandomRotationMatrix(*args)
try: self.this.append(this)
except: self.this = this
__swig_destroy__ = _swigfaiss.delete_RandomRotationMatrix
__del__ = lambda self : None;
RandomRotationMatrix_swigregister = _swigfaiss.RandomRotationMatrix_swigregister
RandomRotationMatrix_swigregister(RandomRotationMatrix)
class PCAMatrix(LinearTransform):
__swig_setmethods__ = {}
for _s in [LinearTransform]: __swig_setmethods__.update(getattr(_s,'__swig_setmethods__',{}))
__setattr__ = lambda self, name, value: _swig_setattr(self, PCAMatrix, name, value)