Commit d8eeceb8 authored by matthijs's avatar matthijs

sync with FB version 2017-09-08

fix index_cpu_to_gpu_multiple

fix PCA dimension
parent 3986a8db
This diff is collapsed.
...@@ -54,6 +54,9 @@ struct IndexIVF: Index { ...@@ -54,6 +54,9 @@ struct IndexIVF: Index {
std::vector < std::vector<long> > ids; ///< Inverted lists for indexes std::vector < std::vector<long> > ids; ///< Inverted lists for indexes
size_t code_size; ///< code size per vector in bytes
std::vector < std::vector<uint8_t> > codes; // binary codes, size nlist
/// map for direct access to the elements. Enables reconstruct(). /// map for direct access to the elements. Enables reconstruct().
bool maintain_direct_map; bool maintain_direct_map;
std::vector <long> direct_map; std::vector <long> direct_map;
...@@ -78,13 +81,52 @@ struct IndexIVF: Index { ...@@ -78,13 +81,52 @@ struct IndexIVF: Index {
/// does nothing by default /// does nothing by default
virtual void train_residual (idx_t n, const float *x); virtual void train_residual (idx_t n, const float *x);
/** search a set of vectors, that are pre-quantized by the IVF
* quantizer. Fill in the corresponding heaps with the query
* results. search() calls this.
*
* @param n nb of vectors to query
* @param x query vectors, size nx * d
* @param assign coarse quantization indices, size nx * nprobe
* @param centroid_dis
* distances to coarse centroids, size nx * nprobe
* @param distance
* output distances, size n * k
* @param labels output labels, size n * k
* @param store_pairs store inv list index + inv list offset
* instead in upper/lower 32 bit of result,
* instead of ids (used for reranking).
*/
virtual void search_preassigned (idx_t n, const float *x, idx_t k,
const idx_t *assign,
const float *centroid_dis,
float *distances, idx_t *labels,
bool store_pairs) const = 0;
/** assign the vectors, then call search_preassign */
virtual void search (idx_t n, const float *x, idx_t k,
float *distances, idx_t *labels) const override;
/// Dataset manipulation functions
long remove_ids(const IDSelector& sel) override;
/** moves the entries from another dataset to self. On output, /** moves the entries from another dataset to self. On output,
* other is empty. add_id is added to all moved ids (for * other is empty. add_id is added to all moved ids (for
* sequential ids, this would be this->ntotal */ * sequential ids, this would be this->ntotal */
virtual void merge_from (IndexIVF &other, idx_t add_id); virtual void merge_from (IndexIVF &other, idx_t add_id);
/** implemented by sub-classes */ /** copy a subset of the entries index to the other index
virtual void merge_from_residuals (IndexIVF &other) = 0; *
* if subset_type == 0: copies ids in [a1, a2)
* if subset_type == 1: copies ids if id % a1 == a2
* if subset_type == 2: copies inverted lists such that a1
* elements are left before and a2 elements are after
*/
virtual void copy_subset_to (IndexIVF & other, int subset_type,
long a1, long a2) const;
~IndexIVF() override; ~IndexIVF() override;
...@@ -127,12 +169,9 @@ extern IndexIVFFlatStats indexIVFFlat_stats; ...@@ -127,12 +169,9 @@ extern IndexIVFFlatStats indexIVFFlat_stats;
/** Inverted file with stored vectors. Here the inverted file /** Inverted file with stored vectors. Here the inverted file
* pre-selects the vectors to be searched, but they are not otherwise * pre-selects the vectors to be searched, but they are not otherwise
* encoded. * encoded, the code array just contains the raw float entries.
*/ */
struct IndexIVFFlat: IndexIVF { struct IndexIVFFlat: IndexIVF {
/** Inverted list of original vectors. Each list is a nl * d
* matrix, where nl is the nb of vectors stored in the list. */
std::vector < std::vector<float> > vecs;
IndexIVFFlat ( IndexIVFFlat (
Index * quantizer, size_t d, size_t nlist_, Index * quantizer, size_t d, size_t nlist_,
...@@ -145,17 +184,11 @@ struct IndexIVFFlat: IndexIVF { ...@@ -145,17 +184,11 @@ struct IndexIVFFlat: IndexIVF {
/// implemented for all IndexIVF* classes /// implemented for all IndexIVF* classes
void add_with_ids(idx_t n, const float* x, const long* xids) override; void add_with_ids(idx_t n, const float* x, const long* xids) override;
void search(
idx_t n,
const float* x,
idx_t k,
float* distances,
idx_t* labels) const override;
/// perform search, without computing the assignment to the quantizer
void search_preassigned (idx_t n, const float *x, idx_t k, void search_preassigned (idx_t n, const float *x, idx_t k,
const idx_t *assign, const idx_t *assign,
float *distances, idx_t *labels) const; const float *centroid_dis,
float *distances, idx_t *labels,
bool store_pairs) const override;
void range_search( void range_search(
idx_t n, idx_t n,
...@@ -163,30 +196,6 @@ struct IndexIVFFlat: IndexIVF { ...@@ -163,30 +196,6 @@ struct IndexIVFFlat: IndexIVF {
float radius, float radius,
RangeSearchResult* result) const override; RangeSearchResult* result) const override;
/** copy a subset of the entries index to the other index
*
* if subset_type == 0: copies ids in [a1, a2)
* if subset_type == 1: copies ids if id % a1 == a2
*/
void copy_subset_to (IndexIVFFlat & other, int subset_type,
long a1, long a2) const;
void reset() override;
long remove_ids(const IDSelector& sel) override;
/// Implementation of the search for the inner product metric
void search_knn_inner_product (
size_t nx, const float * x,
const long * keys,
float_minheap_array_t * res) const;
/// Implementation of the search for the L2 metric
void search_knn_L2sqr (
size_t nx, const float * x,
const long * keys,
float_maxheap_array_t * res) const;
/** Update a subset of vectors. /** Update a subset of vectors.
* *
* The index must have a direct_map * The index must have a direct_map
...@@ -199,37 +208,9 @@ struct IndexIVFFlat: IndexIVF { ...@@ -199,37 +208,9 @@ struct IndexIVFFlat: IndexIVF {
void reconstruct(idx_t key, float* recons) const override; void reconstruct(idx_t key, float* recons) const override;
void merge_from_residuals(IndexIVF& other) override;
IndexIVFFlat () {} IndexIVFFlat () {}
}; };
struct IndexIVFFlatIPBounds: IndexIVFFlat {
/// nb of dimensions of pre-filter
size_t fsize;
/// norm of remainder (dimensions fsize:d)
std::vector<std::vector<float> > part_norms;
IndexIVFFlatIPBounds (
Index * quantizer, size_t d, size_t nlist,
size_t fsize);
void add_core(
idx_t n,
const float* x,
const long* xids,
const long* precomputed_idx) override;
void search(
idx_t n,
const float* x,
idx_t k,
float* distances,
idx_t* labels) const override;
};
} // namespace faiss } // namespace faiss
......
...@@ -50,7 +50,6 @@ IndexIVFPQ::IndexIVFPQ (Index * quantizer, size_t d, size_t nlist, ...@@ -50,7 +50,6 @@ IndexIVFPQ::IndexIVFPQ (Index * quantizer, size_t d, size_t nlist,
FAISS_THROW_IF_NOT (nbits_per_idx <= 8); FAISS_THROW_IF_NOT (nbits_per_idx <= 8);
code_size = pq.code_size; code_size = pq.code_size;
is_trained = false; is_trained = false;
codes.resize (nlist);
by_residual = true; by_residual = true;
use_precomputed_table = 0; use_precomputed_table = 0;
scan_table_threshold = 0; scan_table_threshold = 0;
...@@ -102,6 +101,8 @@ void IndexIVFPQ::train_residual_o (idx_t n, const float *x, float *residuals_2) ...@@ -102,6 +101,8 @@ void IndexIVFPQ::train_residual_o (idx_t n, const float *x, float *residuals_2)
pq.train (n, trainset); pq.train (n, trainset);
if (do_polysemous_training) { if (do_polysemous_training) {
if (verbose)
printf("doing polysemous training for PQ\n");
PolysemousTraining default_pt; PolysemousTraining default_pt;
PolysemousTraining *pt = polysemous_training; PolysemousTraining *pt = polysemous_training;
if (!pt) pt = &default_pt; if (!pt) pt = &default_pt;
...@@ -319,42 +320,6 @@ void IndexIVFPQ::reconstruct (idx_t key, float * recons) const ...@@ -319,42 +320,6 @@ void IndexIVFPQ::reconstruct (idx_t key, float * recons) const
void IndexIVFPQ::merge_from_residuals (IndexIVF &other_in)
{
IndexIVFPQ &other = dynamic_cast<IndexIVFPQ &> (other_in);
for (int i = 0; i < nlist; i++) {
codes[i].insert (codes[i].end(),
other.codes[i].begin(), other.codes[i].end());
other.codes[i].clear();
}
}
void IndexIVFPQ::copy_subset_to (IndexIVFPQ & other, int subset_type,
long a1, long a2) const
{
FAISS_THROW_IF_NOT (nlist == other.nlist);
FAISS_THROW_IF_NOT (!other.maintain_direct_map);
size_t code_size = pq.code_size;
for (long list_no = 0; list_no < nlist; list_no++) {
const std::vector<idx_t> & ids_in = ids[list_no];
std::vector<idx_t> & ids_out = other.ids[list_no];
const std::vector<uint8_t> & codes_in = codes[list_no];
std::vector<uint8_t> & codes_out = other.codes[list_no];
for (long i = 0; i < ids_in.size(); i++) {
idx_t id = ids_in[i];
if (subset_type == 0 && a1 <= id && id < a2) {
ids_out.push_back (id);
codes_out.insert (codes_out.end(),
codes_in.begin() + i * code_size,
codes_in.begin() + (i + 1) * code_size);
other.ntotal++;
}
}
}
}
...@@ -390,12 +355,10 @@ void IndexIVFPQ::copy_subset_to (IndexIVFPQ & other, int subset_type, ...@@ -390,12 +355,10 @@ void IndexIVFPQ::copy_subset_to (IndexIVFPQ & other, int subset_type,
void IndexIVFPQ::precompute_table () void IndexIVFPQ::precompute_table ()
{ {
if (use_precomputed_table == 0) { // then choose the type of table if (use_precomputed_table == 0) { // then choose the type of table
if (quantizer->metric_type == METRIC_INNER_PRODUCT) { if (quantizer->metric_type == METRIC_INNER_PRODUCT) {
fprintf(stderr, "IndexIVFPQ::precompute_table: WARN precomputed " fprintf(stderr, "IndexIVFPQ::precompute_table: WARN precomputed "
"tables not supported for inner product quantizers\n"); "tables not needed for inner product quantizers\n");
return; return;
} }
const MultiIndexQuantizer *miq = const MultiIndexQuantizer *miq =
...@@ -406,6 +369,10 @@ void IndexIVFPQ::precompute_table () ...@@ -406,6 +369,10 @@ void IndexIVFPQ::precompute_table ()
use_precomputed_table = 1; use_precomputed_table = 1;
} // otherwise assume user has set appropriate flag on input } // otherwise assume user has set appropriate flag on input
if (verbose) {
printf ("precomputing IVFPQ tables type %d\n",
use_precomputed_table);
}
// squared norms of the PQ centroids // squared norms of the PQ centroids
std::vector<float> r_norms (pq.M * pq.ksub, NAN); std::vector<float> r_norms (pq.M * pq.ksub, NAN);
...@@ -960,15 +927,17 @@ void IndexIVFPQStats::reset () { ...@@ -960,15 +927,17 @@ void IndexIVFPQStats::reset () {
} }
void IndexIVFPQ::search_knn_with_key (
size_t nx, void IndexIVFPQ::search_preassigned (idx_t nx, const float *qx, idx_t k,
const float * qx, const idx_t *keys,
const long * keys, const float *coarse_dis,
const float * coarse_dis, float *distances, idx_t *labels,
float_maxheap_array_t * res,
bool store_pairs) const bool store_pairs) const
{ {
const size_t k = res->k; float_maxheap_array_t res = {
size_t(nx), size_t(k),
labels, distances
};
#pragma omp parallel #pragma omp parallel
{ {
...@@ -984,8 +953,8 @@ void IndexIVFPQ::search_knn_with_key ( ...@@ -984,8 +953,8 @@ void IndexIVFPQ::search_knn_with_key (
const float *qi = qx + i * d; const float *qi = qx + i * d;
const long * keysi = keys + i * nprobe; const long * keysi = keys + i * nprobe;
const float *coarse_dis_i = coarse_dis + i * nprobe; const float *coarse_dis_i = coarse_dis + i * nprobe;
float * heap_sim = res->get_val (i); float * heap_sim = res.get_val (i);
long * heap_ids = res->get_ids (i); long * heap_ids = res.get_ids (i);
uint64_t t0; uint64_t t0;
TIC; TIC;
...@@ -1004,10 +973,11 @@ void IndexIVFPQ::search_knn_with_key ( ...@@ -1004,10 +973,11 @@ void IndexIVFPQ::search_knn_with_key (
// not enough centroids for multiprobe // not enough centroids for multiprobe
continue; continue;
} }
if (key >= (long) nlist) { FAISS_THROW_IF_NOT_FMT (
fprintf (stderr, "Invalid key=%ld nlist=%ld\n", key, nlist); key < (long) nlist,
throw; "Invalid key=%ld at ik=%ld nlist=%ld\n",
} key, ik, nlist);
size_t list_size = ids[key].size(); size_t list_size = ids[key].size();
stats_nlist ++; stats_nlist ++;
nscan += list_size; nscan += list_size;
...@@ -1059,65 +1029,6 @@ void IndexIVFPQ::search_knn_with_key ( ...@@ -1059,65 +1029,6 @@ void IndexIVFPQ::search_knn_with_key (
} }
void IndexIVFPQ::search (idx_t n, const float *x, idx_t k,
float *distances, idx_t *labels) const
{
long * idx = new long [n * nprobe];
ScopeDeleter<long> del (idx);
float * coarse_dis = new float [n * nprobe];
ScopeDeleter<float> del2 (coarse_dis);
uint64_t t0;
TIC;
quantizer->search (n, x, nprobe, coarse_dis, idx);
indexIVFPQ_stats.assign_cycles += TOC;
TIC;
float_maxheap_array_t res = { size_t(n), size_t(k), labels, distances};
search_knn_with_key (n, x, idx, coarse_dis, &res);
indexIVFPQ_stats.search_cycles += TOC;
}
void IndexIVFPQ::reset()
{
IndexIVF::reset();
for (size_t key = 0; key < nlist; key++) {
codes[key].clear();
}
}
long IndexIVFPQ::remove_ids (const IDSelector & sel)
{
FAISS_THROW_IF_NOT_MSG (!maintain_direct_map,
"direct map remove not implemented");
long nremove = 0;
#pragma omp parallel for reduction(+: nremove)
for (long i = 0; i < nlist; i++) {
std::vector<idx_t> & idsi = ids[i];
uint8_t * codesi = codes[i].data();
long l = idsi.size(), j = 0;
while (j < l) {
if (sel.is_member (idsi[j])) {
l--;
idsi [j] = idsi [l];
memmove (codesi + j * code_size,
codesi + l * code_size, code_size);
} else {
j++;
}
}
if (l < idsi.size()) {
nremove += idsi.size() - l;
idsi.resize (l);
codes[i].resize (l * code_size);
}
}
ntotal -= nremove;
return nremove;
}
IndexIVFPQ::IndexIVFPQ () IndexIVFPQ::IndexIVFPQ ()
...@@ -1275,9 +1186,9 @@ void IndexIVFPQR::search ( ...@@ -1275,9 +1186,9 @@ void IndexIVFPQR::search (
float *coarse_distances = new float [k_coarse * n]; float *coarse_distances = new float [k_coarse * n];
ScopeDeleter<float> del(coarse_distances); ScopeDeleter<float> del(coarse_distances);
faiss::float_maxheap_array_t res_coarse = { search_preassigned (n, x, k_coarse,
size_t(n), k_coarse, coarse_labels, coarse_distances}; idx, L1_dis, coarse_distances, coarse_labels,
search_knn_with_key (n, x, idx, L1_dis, &res_coarse, true); true);
} }
...@@ -1359,13 +1270,19 @@ void IndexIVFPQR::reconstruct_n (idx_t i0, idx_t ni, float *recons) const ...@@ -1359,13 +1270,19 @@ void IndexIVFPQR::reconstruct_n (idx_t i0, idx_t ni, float *recons) const
} }
void IndexIVFPQR::merge_from_residuals (IndexIVF &other_in)
void IndexIVFPQR::merge_from (IndexIVF &other_in, idx_t add_id)
{ {
IndexIVFPQR &other = dynamic_cast<IndexIVFPQR &> (other_in); IndexIVFPQR *other = dynamic_cast<IndexIVFPQR *> (&other_in);
IndexIVFPQ::merge_from_residuals (other); FAISS_THROW_IF_NOT(other);
IndexIVF::merge_from (other_in, add_id);
refine_codes.insert (refine_codes.end(), refine_codes.insert (refine_codes.end(),
other.refine_codes.begin(), other.refine_codes.end()); other->refine_codes.begin(),
other.refine_codes.clear(); other->refine_codes.end());
other->refine_codes.clear();
} }
long IndexIVFPQR::remove_ids(const IDSelector& /*sel*/) { long IndexIVFPQR::remove_ids(const IDSelector& /*sel*/) {
...@@ -1479,15 +1396,18 @@ IndexIVFPQCompact::~IndexIVFPQCompact () ...@@ -1479,15 +1396,18 @@ IndexIVFPQCompact::~IndexIVFPQCompact ()
} }
void IndexIVFPQCompact::search_knn_with_key (
size_t nx,
const float * qx, void IndexIVFPQCompact::search_preassigned (idx_t nx, const float *qx, idx_t k,
const long * keys, const idx_t *keys,
const float * coarse_dis, const float *coarse_dis,
float_maxheap_array_t * res, float *distances, idx_t *labels,
bool store_pairs) const bool store_pairs) const
{ {
const size_t k = res->k; float_maxheap_array_t res = {
size_t(nx), size_t(k),
labels, distances
};
#pragma omp parallel #pragma omp parallel
{ {
...@@ -1503,8 +1423,8 @@ void IndexIVFPQCompact::search_knn_with_key ( ...@@ -1503,8 +1423,8 @@ void IndexIVFPQCompact::search_knn_with_key (
const float *qi = qx + i * d; const float *qi = qx + i * d;
const long * keysi = keys + i * nprobe; const long * keysi = keys + i * nprobe;
const float *coarse_dis_i = coarse_dis + i * nprobe; const float *coarse_dis_i = coarse_dis + i * nprobe;
float * heap_sim = res->get_val (i); float * heap_sim = res.get_val (i);
long * heap_ids = res->get_ids (i); long * heap_ids = res.get_ids (i);
uint64_t t0; uint64_t t0;
TIC; TIC;
......
...@@ -29,7 +29,6 @@ namespace faiss { ...@@ -29,7 +29,6 @@ namespace faiss {
struct IndexIVFPQ: IndexIVF { struct IndexIVFPQ: IndexIVF {
bool by_residual; ///< Encode residual or plain vector? bool by_residual; ///< Encode residual or plain vector?
int use_precomputed_table; ///< if by_residual, build precompute tables int use_precomputed_table; ///< if by_residual, build precompute tables
size_t code_size; ///< code size per vector in bytes
ProductQuantizer pq; ///< produces the codes ProductQuantizer pq; ///< produces the codes
bool do_polysemous_training; ///< reorder PQ centroids after training? bool do_polysemous_training; ///< reorder PQ centroids after training?
...@@ -40,7 +39,6 @@ struct IndexIVFPQ: IndexIVF { ...@@ -40,7 +39,6 @@ struct IndexIVFPQ: IndexIVF {
size_t max_codes; ///< max nb of codes to visit to do a query size_t max_codes; ///< max nb of codes to visit to do a query
int polysemous_ht; ///< Hamming thresh for polysemous filtering int polysemous_ht; ///< Hamming thresh for polysemous filtering
std::vector < std::vector<uint8_t> > codes; // binary codes, size nlist
/// if use_precompute_table /// if use_precompute_table
/// size nlist * pq.M * pq.ksub /// size nlist * pq.M * pq.ksub
...@@ -60,17 +58,6 @@ struct IndexIVFPQ: IndexIVF { ...@@ -60,17 +58,6 @@ struct IndexIVFPQ: IndexIVF {
const long *xids, float *residuals_2, const long *xids, float *residuals_2,
const long *precomputed_idx = nullptr); const long *precomputed_idx = nullptr);
void search(
idx_t n,
const float* x,
idx_t k,
float* distances,
idx_t* labels) const override;
void reset() override;
long remove_ids(const IDSelector& sel) override;
/// trains the product quantizer /// trains the product quantizer
void train_residual(idx_t n, const float* x) override; void train_residual(idx_t n, const float* x) override;
...@@ -121,49 +108,23 @@ struct IndexIVFPQ: IndexIVF { ...@@ -121,49 +108,23 @@ struct IndexIVFPQ: IndexIVF {
void decode_multiple (size_t n, const long *keys, void decode_multiple (size_t n, const long *keys,
const uint8_t * xcodes, float * x) const; const uint8_t * xcodes, float * x) const;
/** search a set of vectors, that are pre-quantized by the IVF void search_preassigned (idx_t n, const float *x, idx_t k,
* quantizer. Fill in the corresponding heaps with the query const idx_t *assign,
* results. const float *centroid_dis,
* float *distances, idx_t *labels,
* @param nx nb of vectors to query bool store_pairs) const override;
* @param qx query vectors, size nx * d
* @param keys coarse quantization indices, size nx * nprobe
* @param coarse_dis
* distances to coarse centroids, size nx * nprobe
* @param res heaps for all the results, gives the nprobe
* @param store_pairs store inv list index + inv list offset
* instead in upper/lower 32 bit of result,
* instead of ids (used for reranking).
*/
virtual void search_knn_with_key (
size_t nx,
const float * qx,
const long * keys,
const float * coarse_dis,
float_maxheap_array_t* res,
bool store_pairs = false) const;
/// build precomputed table /// build precomputed table
void precompute_table (); void precompute_table ();
/// used to implement merging
void merge_from_residuals(IndexIVF& other) override;
/** copy a subset of the entries index to the other index
*
* if subset_type == 0: copies ids in [a1, a2)
* if subset_type == 1: copies ids if id % a1 == a2
*/
void copy_subset_to (IndexIVFPQ & other, int subset_type,
long a1, long a2) const;
IndexIVFPQ (); IndexIVFPQ ();
}; };
/// statistics are robust to internal threading, but not if /// statistics are robust to internal threading, but not if
/// IndexIVFPQ::search is called by multiple threads /// IndexIVFPQ::search_preassigned is called by multiple threads
struct IndexIVFPQStats { struct IndexIVFPQStats {
size_t nq; // nb of queries run size_t nq; // nb of queries run
size_t nlist; // nb of inverted lists scanned size_t nlist; // nb of inverted lists scanned
...@@ -222,6 +183,9 @@ struct IndexIVFPQR: IndexIVFPQ { ...@@ -222,6 +183,9 @@ struct IndexIVFPQR: IndexIVFPQ {
void reconstruct_n(idx_t i0, idx_t ni, float* recons) const override; void reconstruct_n(idx_t i0, idx_t ni, float* recons) const override;
void merge_from (IndexIVF &other, idx_t add_id) override;
void search( void search(
idx_t n, idx_t n,
const float* x, const float* x,
...@@ -229,8 +193,6 @@ struct IndexIVFPQR: IndexIVFPQ { ...@@ -229,8 +193,6 @@ struct IndexIVFPQR: IndexIVFPQ {
float* distances, float* distances,
idx_t* labels) const override; idx_t* labels) const override;
void merge_from_residuals(IndexIVF& other) override;
IndexIVFPQR(); IndexIVFPQR();
}; };
...@@ -261,13 +223,11 @@ struct IndexIVFPQCompact: IndexIVFPQ { ...@@ -261,13 +223,11 @@ struct IndexIVFPQCompact: IndexIVFPQ {
char * mmap_buffer; char * mmap_buffer;
long mmap_length; long mmap_length;
void search_knn_with_key( void search_preassigned (idx_t n, const float *x, idx_t k,
size_t nx, const idx_t *assign,
const float* qx, const float *centroid_dis,
const long* keys, float *distances, idx_t *labels,
const float* coarse_dis, bool store_pairs) const override;
float_maxheap_array_t* res,
bool store_pairs = false) const override;
/// the three following functions will fail at runtime /// the three following functions will fail at runtime
void add(idx_t, const float*) override; void add(idx_t, const float*) override;
......
...@@ -814,11 +814,10 @@ IndexIVFScalarQuantizer::IndexIVFScalarQuantizer ...@@ -814,11 +814,10 @@ IndexIVFScalarQuantizer::IndexIVFScalarQuantizer
{ {
code_size = sq.code_size; code_size = sq.code_size;
is_trained = false; is_trained = false;
codes.resize(nlist);
} }
IndexIVFScalarQuantizer::IndexIVFScalarQuantizer (): IndexIVFScalarQuantizer::IndexIVFScalarQuantizer ():
IndexIVF (), code_size (0) IndexIVF ()
{} {}
void IndexIVFScalarQuantizer::train_residual (idx_t n, const float *x) void IndexIVFScalarQuantizer::train_residual (idx_t n, const float *x)
...@@ -885,7 +884,8 @@ void search_with_probes_ip (const IndexIVFScalarQuantizer & index, ...@@ -885,7 +884,8 @@ void search_with_probes_ip (const IndexIVFScalarQuantizer & index,
const float *x, const float *x,
const idx_t *cent_ids, const float *cent_dis, const idx_t *cent_ids, const float *cent_dis,
const Quantizer & quant, const Quantizer & quant,
int k, float *simi, idx_t *idxi) int k, float *simi, idx_t *idxi,
bool store_pairs)
{ {
int nprobe = index.nprobe; int nprobe = index.nprobe;
size_t code_size = index.code_size; size_t code_size = index.code_size;
...@@ -908,7 +908,8 @@ void search_with_probes_ip (const IndexIVFScalarQuantizer & index, ...@@ -908,7 +908,8 @@ void search_with_probes_ip (const IndexIVFScalarQuantizer & index,
if (accu > simi [0]) { if (accu > simi [0]) {
minheap_pop (k, simi, idxi); minheap_pop (k, simi, idxi);
minheap_push (k, simi, idxi, accu, ids[j]); long id = store_pairs ? (list_no << 32 | j) : ids[j];
minheap_push (k, simi, idxi, accu, id);
} }
codes += code_size; codes += code_size;
} }
...@@ -922,7 +923,8 @@ void search_with_probes_L2 (const IndexIVFScalarQuantizer & index, ...@@ -922,7 +923,8 @@ void search_with_probes_L2 (const IndexIVFScalarQuantizer & index,
const idx_t *cent_ids, const idx_t *cent_ids,
const Index *quantizer, const Index *quantizer,
const Quantizer & quant, const Quantizer & quant,
int k, float *simi, idx_t *idxi) int k, float *simi, idx_t *idxi,
bool store_pairs)
{ {
int nprobe = index.nprobe; int nprobe = index.nprobe;
size_t code_size = index.code_size; size_t code_size = index.code_size;
...@@ -947,7 +949,8 @@ void search_with_probes_L2 (const IndexIVFScalarQuantizer & index, ...@@ -947,7 +949,8 @@ void search_with_probes_L2 (const IndexIVFScalarQuantizer & index,
if (dis < simi [0]) { if (dis < simi [0]) {
maxheap_pop (k, simi, idxi); maxheap_pop (k, simi, idxi);
maxheap_push (k, simi, idxi, dis, ids[j]); long id = store_pairs ? (list_no << 32 | j) : ids[j];
maxheap_push (k, simi, idxi, dis, id);
} }
codes += code_size; codes += code_size;
} }
...@@ -955,48 +958,34 @@ void search_with_probes_L2 (const IndexIVFScalarQuantizer & index, ...@@ -955,48 +958,34 @@ void search_with_probes_L2 (const IndexIVFScalarQuantizer & index,
maxheap_reorder (k, simi, idxi); maxheap_reorder (k, simi, idxi);
} }
void IndexIVFScalarQuantizer::search_preassigned (
void IndexIVFScalarQuantizer::search (idx_t n, const float *x, idx_t k, idx_t n, const float *x, idx_t k,
float *distances, idx_t *labels) const const idx_t *idx,
const float *dis,
float *distances, idx_t *labels,
bool store_pairs) const
{ {
FAISS_THROW_IF_NOT (is_trained); FAISS_THROW_IF_NOT (is_trained);
idx_t *idx = new idx_t [n * nprobe];
ScopeDeleter<idx_t> del (idx);
float *dis = new float [n * nprobe];
ScopeDeleter<float> del2 (dis);
quantizer->search (n, x, nprobe, dis, idx);
Quantizer *squant = select_quantizer (sq); Quantizer *squant = select_quantizer (sq);
ScopeDeleter1<Quantizer> del3(squant); ScopeDeleter1<Quantizer> del(squant);
if (metric_type == METRIC_INNER_PRODUCT) { if (metric_type == METRIC_INNER_PRODUCT) {
#pragma omp parallel for #pragma omp parallel for
for (size_t i = 0; i < n; i++) { for (size_t i = 0; i < n; i++) {
search_with_probes_ip (*this, x + i * d, search_with_probes_ip (*this, x + i * d,
idx + i * nprobe, dis + i * nprobe, *squant, idx + i * nprobe, dis + i * nprobe, *squant,
k, distances + i * k, labels + i * k); k, distances + i * k, labels + i * k,
store_pairs);
} }
} else { } else {
#pragma omp parallel for #pragma omp parallel for
for (size_t i = 0; i < n; i++) { for (size_t i = 0; i < n; i++) {
search_with_probes_L2 (*this, x + i * d, search_with_probes_L2 (*this, x + i * d,
idx + i * nprobe, quantizer, *squant, idx + i * nprobe, quantizer, *squant,
k, distances + i * k, labels + i * k); k, distances + i * k, labels + i * k,
} store_pairs);
} }
}
void IndexIVFScalarQuantizer::merge_from_residuals (IndexIVF & other_in) {
IndexIVFScalarQuantizer &other =
dynamic_cast<IndexIVFScalarQuantizer &> (other_in);
for (int i = 0; i < nlist; i++) {
std::vector<uint8_t> & src = other.codes[i];
std::vector<uint8_t> & dest = codes[i];
dest.insert (dest.end(), src.begin (), src.end ());
src.clear ();
} }
} }
......
...@@ -129,11 +129,6 @@ struct IndexScalarQuantizer: Index { ...@@ -129,11 +129,6 @@ struct IndexScalarQuantizer: Index {
struct IndexIVFScalarQuantizer:IndexIVF { struct IndexIVFScalarQuantizer:IndexIVF {
ScalarQuantizer sq; ScalarQuantizer sq;
size_t code_size;
/// inverted list codes.
std::vector<std::vector<uint8_t> > codes;
IndexIVFScalarQuantizer(Index *quantizer, size_t d, size_t nlist, IndexIVFScalarQuantizer(Index *quantizer, size_t d, size_t nlist,
ScalarQuantizer::QuantizerType qtype, ScalarQuantizer::QuantizerType qtype,
MetricType metric = METRIC_L2); MetricType metric = METRIC_L2);
...@@ -144,14 +139,12 @@ struct IndexIVFScalarQuantizer:IndexIVF { ...@@ -144,14 +139,12 @@ struct IndexIVFScalarQuantizer:IndexIVF {
void add_with_ids(idx_t n, const float* x, const long* xids) override; void add_with_ids(idx_t n, const float* x, const long* xids) override;
void search( void search_preassigned (idx_t n, const float *x, idx_t k,
idx_t n, const idx_t *assign,
const float* x, const float *centroid_dis,
idx_t k, float *distances, idx_t *labels,
float* distances, bool store_pairs) const override;
idx_t* labels) const override;
void merge_from_residuals(IndexIVF& other) override;
}; };
......
...@@ -373,7 +373,7 @@ void PCAMatrix::train (Index::idx_t n, const float *x) ...@@ -373,7 +373,7 @@ void PCAMatrix::train (Index::idx_t n, const float *x)
eig (n, gramd.data (), eigenvaluesd.data (), verbose); eig (n, gramd.data (), eigenvaluesd.data (), verbose);
PCAMat.resize(d_in * d_in); PCAMat.resize(d_in * n);
for (size_t i = 0; i < n * n; i++) for (size_t i = 0; i < n * n; i++)
gram [i] = gramd [i]; gram [i] = gramd [i];
...@@ -393,7 +393,6 @@ void PCAMatrix::train (Index::idx_t n, const float *x) ...@@ -393,7 +393,6 @@ void PCAMatrix::train (Index::idx_t n, const float *x)
&one, PCAMat.data(), &di); &one, PCAMat.data(), &di);
} }
if(verbose && d_in <= 10) { if(verbose && d_in <= 10) {
float *ci = PCAMat.data(); float *ci = PCAMat.data();
printf("PCAMat=\n"); printf("PCAMat=\n");
...@@ -407,8 +406,6 @@ void PCAMatrix::train (Index::idx_t n, const float *x) ...@@ -407,8 +406,6 @@ void PCAMatrix::train (Index::idx_t n, const float *x)
} }
prepare_Ab(); prepare_Ab();
is_trained = true; is_trained = true;
} }
...@@ -427,6 +424,10 @@ void PCAMatrix::prepare_Ab () ...@@ -427,6 +424,10 @@ void PCAMatrix::prepare_Ab ()
{ {
if (!random_rotation) { if (!random_rotation) {
FAISS_THROW_IF_NOT_MSG (
d_out * d_in <= PCAMat.size(),
"PCA matrix was trained on too few examples "
"to output this number of dimensions");
A = PCAMat; A = PCAMat;
A.resize(d_out * d_in); // strip off useless dimensions A.resize(d_out * d_in); // strip off useless dimensions
......
...@@ -170,7 +170,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ...@@ -170,7 +170,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">return</span> 0;</div> <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;}</div> <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;}</div>
<div class="ttc" id="structfaiss_1_1IndexFlatL2_html"><div class="ttname"><a href="structfaiss_1_1IndexFlatL2.html">faiss::IndexFlatL2</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8h_source.html#l00079">IndexFlat.h:79</a></div></div> <div class="ttc" id="structfaiss_1_1IndexFlatL2_html"><div class="ttname"><a href="structfaiss_1_1IndexFlatL2.html">faiss::IndexFlatL2</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8h_source.html#l00079">IndexFlat.h:79</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexIVFFlat_html"><div class="ttname"><a href="structfaiss_1_1IndexIVFFlat.html">faiss::IndexIVFFlat</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexIVF_8h_source.html#l00132">IndexIVF.h:132</a></div></div> <div class="ttc" id="structfaiss_1_1IndexIVFFlat_html"><div class="ttname"><a href="structfaiss_1_1IndexIVFFlat.html">faiss::IndexIVFFlat</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexIVF_8h_source.html#l00174">IndexIVF.h:174</a></div></div>
</div><!-- fragment --></div><!-- contents --> </div><!-- fragment --></div><!-- contents -->
<!-- start footer part --> <!-- start footer part -->
<hr class="footer"/><address class="footer"><small> <hr class="footer"/><address class="footer"><small>
......
...@@ -925,7 +925,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ...@@ -925,7 +925,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="structfaiss_1_1ScalarQuantizer_html_a1201dbd1611fa5c10782ade5d0e4952e"><div class="ttname"><a href="structfaiss_1_1ScalarQuantizer.html#a1201dbd1611fa5c10782ade5d0e4952e">faiss::ScalarQuantizer::QuantizerType</a></div><div class="ttdeci">QuantizerType</div><div class="ttdef"><b>Definition:</b> <a href="IndexScalarQuantizer_8h_source.html#l00032">IndexScalarQuantizer.h:32</a></div></div> <div class="ttc" id="structfaiss_1_1ScalarQuantizer_html_a1201dbd1611fa5c10782ade5d0e4952e"><div class="ttname"><a href="structfaiss_1_1ScalarQuantizer.html#a1201dbd1611fa5c10782ade5d0e4952e">faiss::ScalarQuantizer::QuantizerType</a></div><div class="ttdeci">QuantizerType</div><div class="ttdef"><b>Definition:</b> <a href="IndexScalarQuantizer_8h_source.html#l00032">IndexScalarQuantizer.h:32</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexFlat_html"><div class="ttname"><a href="structfaiss_1_1IndexFlat.html">faiss::IndexFlat</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8h_source.html#l00023">IndexFlat.h:23</a></div></div> <div class="ttc" id="structfaiss_1_1IndexFlat_html"><div class="ttname"><a href="structfaiss_1_1IndexFlat.html">faiss::IndexFlat</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8h_source.html#l00023">IndexFlat.h:23</a></div></div>
<div class="ttc" id="structfaiss_1_1OperatingPoint_html_a2c023f1484e4748e3e97681bb1f4b78e"><div class="ttname"><a href="structfaiss_1_1OperatingPoint.html#a2c023f1484e4748e3e97681bb1f4b78e">faiss::OperatingPoint::cno</a></div><div class="ttdeci">long cno</div><div class="ttdoc">integer identifer </div><div class="ttdef"><b>Definition:</b> <a href="AutoTune_8h_source.html#l00090">AutoTune.h:90</a></div></div> <div class="ttc" id="structfaiss_1_1OperatingPoint_html_a2c023f1484e4748e3e97681bb1f4b78e"><div class="ttname"><a href="structfaiss_1_1OperatingPoint.html#a2c023f1484e4748e3e97681bb1f4b78e">faiss::OperatingPoint::cno</a></div><div class="ttdeci">long cno</div><div class="ttdoc">integer identifer </div><div class="ttdef"><b>Definition:</b> <a href="AutoTune_8h_source.html#l00090">AutoTune.h:90</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexIVFPQR_html"><div class="ttname"><a href="structfaiss_1_1IndexIVFPQR.html">faiss::IndexIVFPQR</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexIVFPQ_8h_source.html#l00198">IndexIVFPQ.h:198</a></div></div> <div class="ttc" id="structfaiss_1_1IndexIVFPQR_html"><div class="ttname"><a href="structfaiss_1_1IndexIVFPQR.html">faiss::IndexIVFPQR</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexIVFPQ_8h_source.html#l00159">IndexIVFPQ.h:159</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexPQ_html_af616e1f3c7bff7f62c2607b8079da43f"><div class="ttname"><a href="structfaiss_1_1IndexPQ.html#af616e1f3c7bff7f62c2607b8079da43f">faiss::IndexPQ::do_polysemous_training</a></div><div class="ttdeci">bool do_polysemous_training</div><div class="ttdoc">false = standard PQ </div><div class="ttdef"><b>Definition:</b> <a href="IndexPQ_8h_source.html#l00069">IndexPQ.h:69</a></div></div> <div class="ttc" id="structfaiss_1_1IndexPQ_html_af616e1f3c7bff7f62c2607b8079da43f"><div class="ttname"><a href="structfaiss_1_1IndexPQ.html#af616e1f3c7bff7f62c2607b8079da43f">faiss::IndexPQ::do_polysemous_training</a></div><div class="ttdeci">bool do_polysemous_training</div><div class="ttdoc">false = standard PQ </div><div class="ttdef"><b>Definition:</b> <a href="IndexPQ_8h_source.html#l00069">IndexPQ.h:69</a></div></div>
<div class="ttc" id="structfaiss_1_1OperatingPoints_html_a1702eeb680ce73ca8c1fd071955f0679"><div class="ttname"><a href="structfaiss_1_1OperatingPoints.html#a1702eeb680ce73ca8c1fd071955f0679">faiss::OperatingPoints::clear</a></div><div class="ttdeci">void clear()</div><div class="ttdef"><b>Definition:</b> <a href="AutoTune_8cpp_source.html#l00102">AutoTune.cpp:102</a></div></div> <div class="ttc" id="structfaiss_1_1OperatingPoints_html_a1702eeb680ce73ca8c1fd071955f0679"><div class="ttname"><a href="structfaiss_1_1OperatingPoints.html#a1702eeb680ce73ca8c1fd071955f0679">faiss::OperatingPoints::clear</a></div><div class="ttdeci">void clear()</div><div class="ttdef"><b>Definition:</b> <a href="AutoTune_8cpp_source.html#l00102">AutoTune.cpp:102</a></div></div>
<div class="ttc" id="structfaiss_1_1OperatingPoint_html"><div class="ttname"><a href="structfaiss_1_1OperatingPoint.html">faiss::OperatingPoint</a></div><div class="ttdef"><b>Definition:</b> <a href="AutoTune_8h_source.html#l00086">AutoTune.h:86</a></div></div> <div class="ttc" id="structfaiss_1_1OperatingPoint_html"><div class="ttname"><a href="structfaiss_1_1OperatingPoint.html">faiss::OperatingPoint</a></div><div class="ttdef"><b>Definition:</b> <a href="AutoTune_8h_source.html#l00086">AutoTune.h:86</a></div></div>
...@@ -943,13 +943,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ...@@ -943,13 +943,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="structfaiss_1_1OperatingPoints_html_a7afabe0576800255eeec680486cb30df"><div class="ttname"><a href="structfaiss_1_1OperatingPoints.html#a7afabe0576800255eeec680486cb30df">faiss::OperatingPoints::add</a></div><div class="ttdeci">bool add(double perf, double t, const std::string &amp;key, size_t cno=0)</div><div class="ttdoc">add a performance measure. Return whether it is an optimal point </div><div class="ttdef"><b>Definition:</b> <a href="AutoTune_8cpp_source.html#l00112">AutoTune.cpp:112</a></div></div> <div class="ttc" id="structfaiss_1_1OperatingPoints_html_a7afabe0576800255eeec680486cb30df"><div class="ttname"><a href="structfaiss_1_1OperatingPoints.html#a7afabe0576800255eeec680486cb30df">faiss::OperatingPoints::add</a></div><div class="ttdeci">bool add(double perf, double t, const std::string &amp;key, size_t cno=0)</div><div class="ttdoc">add a performance measure. Return whether it is an optimal point </div><div class="ttdef"><b>Definition:</b> <a href="AutoTune_8cpp_source.html#l00112">AutoTune.cpp:112</a></div></div>
<div class="ttc" id="structfaiss_1_1OPQMatrix_html"><div class="ttname"><a href="structfaiss_1_1OPQMatrix.html">faiss::OPQMatrix</a></div><div class="ttdef"><b>Definition:</b> <a href="VectorTransform_8h_source.html#l00180">VectorTransform.h:180</a></div></div> <div class="ttc" id="structfaiss_1_1OPQMatrix_html"><div class="ttname"><a href="structfaiss_1_1OPQMatrix.html">faiss::OPQMatrix</a></div><div class="ttdef"><b>Definition:</b> <a href="VectorTransform_8h_source.html#l00180">VectorTransform.h:180</a></div></div>
<div class="ttc" id="structfaiss_1_1ScopeDeleter1_html"><div class="ttname"><a href="structfaiss_1_1ScopeDeleter1.html">faiss::ScopeDeleter1</a></div><div class="ttdef"><b>Definition:</b> <a href="FaissException_8h_source.html#l00052">FaissException.h:52</a></div></div> <div class="ttc" id="structfaiss_1_1ScopeDeleter1_html"><div class="ttname"><a href="structfaiss_1_1ScopeDeleter1.html">faiss::ScopeDeleter1</a></div><div class="ttdef"><b>Definition:</b> <a href="FaissException_8h_source.html#l00052">FaissException.h:52</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexIVFPQ_html_a9d5373633df7a9bec4de69400b9adeed"><div class="ttname"><a href="structfaiss_1_1IndexIVFPQ.html#a9d5373633df7a9bec4de69400b9adeed">faiss::IndexIVFPQ::do_polysemous_training</a></div><div class="ttdeci">bool do_polysemous_training</div><div class="ttdoc">reorder PQ centroids after training? </div><div class="ttdef"><b>Definition:</b> <a href="IndexIVFPQ_8h_source.html#l00035">IndexIVFPQ.h:35</a></div></div> <div class="ttc" id="structfaiss_1_1IndexIVFPQ_html_a9d5373633df7a9bec4de69400b9adeed"><div class="ttname"><a href="structfaiss_1_1IndexIVFPQ.html#a9d5373633df7a9bec4de69400b9adeed">faiss::IndexIVFPQ::do_polysemous_training</a></div><div class="ttdeci">bool do_polysemous_training</div><div class="ttdoc">reorder PQ centroids after training? </div><div class="ttdef"><b>Definition:</b> <a href="IndexIVFPQ_8h_source.html#l00034">IndexIVFPQ.h:34</a></div></div>
<div class="ttc" id="structfaiss_1_1ParameterSpace_html_aee8fd44e15656ba80fe98de4c65ed767"><div class="ttname"><a href="structfaiss_1_1ParameterSpace.html#aee8fd44e15656ba80fe98de4c65ed767">faiss::ParameterSpace::batchsize</a></div><div class="ttdeci">size_t batchsize</div><div class="ttdoc">maximum number of queries to submit at a time. </div><div class="ttdef"><b>Definition:</b> <a href="AutoTune_8h_source.html#l00145">AutoTune.h:145</a></div></div> <div class="ttc" id="structfaiss_1_1ParameterSpace_html_aee8fd44e15656ba80fe98de4c65ed767"><div class="ttname"><a href="structfaiss_1_1ParameterSpace.html#aee8fd44e15656ba80fe98de4c65ed767">faiss::ParameterSpace::batchsize</a></div><div class="ttdeci">size_t batchsize</div><div class="ttdoc">maximum number of queries to submit at a time. </div><div class="ttdef"><b>Definition:</b> <a href="AutoTune_8h_source.html#l00145">AutoTune.h:145</a></div></div>
<div class="ttc" id="structfaiss_1_1AutoTuneCriterion_html_a9084449e216b331c5f753a10c6de6a47"><div class="ttname"><a href="structfaiss_1_1AutoTuneCriterion.html#a9084449e216b331c5f753a10c6de6a47">faiss::AutoTuneCriterion::evaluate</a></div><div class="ttdeci">virtual double evaluate(const float *D, const idx_t *I) const =0</div></div> <div class="ttc" id="structfaiss_1_1AutoTuneCriterion_html_a9084449e216b331c5f753a10c6de6a47"><div class="ttname"><a href="structfaiss_1_1AutoTuneCriterion.html#a9084449e216b331c5f753a10c6de6a47">faiss::AutoTuneCriterion::evaluate</a></div><div class="ttdeci">virtual double evaluate(const float *D, const idx_t *I) const =0</div></div>
<div class="ttc" id="structfaiss_1_1IndexPreTransform_html"><div class="ttname"><a href="structfaiss_1_1IndexPreTransform.html">faiss::IndexPreTransform</a></div><div class="ttdef"><b>Definition:</b> <a href="VectorTransform_8h_source.html#l00239">VectorTransform.h:239</a></div></div> <div class="ttc" id="structfaiss_1_1IndexPreTransform_html"><div class="ttname"><a href="structfaiss_1_1IndexPreTransform.html">faiss::IndexPreTransform</a></div><div class="ttdef"><b>Definition:</b> <a href="VectorTransform_8h_source.html#l00239">VectorTransform.h:239</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexIDMap_html"><div class="ttname"><a href="structfaiss_1_1IndexIDMap.html">faiss::IndexIDMap</a></div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8h_source.html#l00026">MetaIndexes.h:26</a></div></div> <div class="ttc" id="structfaiss_1_1IndexIDMap_html"><div class="ttname"><a href="structfaiss_1_1IndexIDMap.html">faiss::IndexIDMap</a></div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8h_source.html#l00026">MetaIndexes.h:26</a></div></div>
<div class="ttc" id="structfaiss_1_1AutoTuneCriterion_html_adcfaafb3f1b3449e2cfd553f0f603a5b"><div class="ttname"><a href="structfaiss_1_1AutoTuneCriterion.html#adcfaafb3f1b3449e2cfd553f0f603a5b">faiss::AutoTuneCriterion::nq</a></div><div class="ttdeci">idx_t nq</div><div class="ttdoc">nb of queries this criterion is evaluated on </div><div class="ttdef"><b>Definition:</b> <a href="AutoTune_8h_source.html#l00028">AutoTune.h:28</a></div></div> <div class="ttc" id="structfaiss_1_1AutoTuneCriterion_html_adcfaafb3f1b3449e2cfd553f0f603a5b"><div class="ttname"><a href="structfaiss_1_1AutoTuneCriterion.html#adcfaafb3f1b3449e2cfd553f0f603a5b">faiss::AutoTuneCriterion::nq</a></div><div class="ttdeci">idx_t nq</div><div class="ttdoc">nb of queries this criterion is evaluated on </div><div class="ttdef"><b>Definition:</b> <a href="AutoTune_8h_source.html#l00028">AutoTune.h:28</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexIVFFlat_html"><div class="ttname"><a href="structfaiss_1_1IndexIVFFlat.html">faiss::IndexIVFFlat</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexIVF_8h_source.html#l00132">IndexIVF.h:132</a></div></div> <div class="ttc" id="structfaiss_1_1IndexIVFFlat_html"><div class="ttname"><a href="structfaiss_1_1IndexIVFFlat.html">faiss::IndexIVFFlat</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexIVF_8h_source.html#l00174">IndexIVF.h:174</a></div></div>
<div class="ttc" id="structfaiss_1_1OperatingPoints_html_a2829e78e01cc42c3a341622947663b31"><div class="ttname"><a href="structfaiss_1_1OperatingPoints.html#a2829e78e01cc42c3a341622947663b31">faiss::OperatingPoints::optimal_pts</a></div><div class="ttdeci">std::vector&lt; OperatingPoint &gt; optimal_pts</div><div class="ttdoc">optimal operating points, sorted by perf </div><div class="ttdef"><b>Definition:</b> <a href="AutoTune_8h_source.html#l00098">AutoTune.h:98</a></div></div> <div class="ttc" id="structfaiss_1_1OperatingPoints_html_a2829e78e01cc42c3a341622947663b31"><div class="ttname"><a href="structfaiss_1_1OperatingPoints.html#a2829e78e01cc42c3a341622947663b31">faiss::OperatingPoints::optimal_pts</a></div><div class="ttdeci">std::vector&lt; OperatingPoint &gt; optimal_pts</div><div class="ttdoc">optimal operating points, sorted by perf </div><div class="ttdef"><b>Definition:</b> <a href="AutoTune_8h_source.html#l00098">AutoTune.h:98</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexFlatIP_html"><div class="ttname"><a href="structfaiss_1_1IndexFlatIP.html">faiss::IndexFlatIP</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8h_source.html#l00073">IndexFlat.h:73</a></div></div> <div class="ttc" id="structfaiss_1_1IndexFlatIP_html"><div class="ttname"><a href="structfaiss_1_1IndexFlatIP.html">faiss::IndexFlatIP</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8h_source.html#l00073">IndexFlat.h:73</a></div></div>
<div class="ttc" id="structfaiss_1_1AutoTuneCriterion_html_a174f0de8e6fd01905f5fa2170f5039d8"><div class="ttname"><a href="structfaiss_1_1AutoTuneCriterion.html#a174f0de8e6fd01905f5fa2170f5039d8">faiss::AutoTuneCriterion::set_groundtruth</a></div><div class="ttdeci">void set_groundtruth(int gt_nnn, const float *gt_D_in, const idx_t *gt_I_in)</div><div class="ttdef"><b>Definition:</b> <a href="AutoTune_8cpp_source.html#l00036">AutoTune.cpp:36</a></div></div> <div class="ttc" id="structfaiss_1_1AutoTuneCriterion_html_a174f0de8e6fd01905f5fa2170f5039d8"><div class="ttname"><a href="structfaiss_1_1AutoTuneCriterion.html#a174f0de8e6fd01905f5fa2170f5039d8">faiss::AutoTuneCriterion::set_groundtruth</a></div><div class="ttdeci">void set_groundtruth(int gt_nnn, const float *gt_D_in, const idx_t *gt_I_in)</div><div class="ttdef"><b>Definition:</b> <a href="AutoTune_8cpp_source.html#l00036">AutoTune.cpp:36</a></div></div>
......
...@@ -244,7 +244,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ...@@ -244,7 +244,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexIVFFlatConfig_html_ab98ac354bcd5632976f7edc2deda6e57"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexIVFFlatConfig.html#ab98ac354bcd5632976f7edc2deda6e57">faiss::gpu::GpuIndexIVFFlatConfig::useFloat16IVFStorage</a></div><div class="ttdeci">bool useFloat16IVFStorage</div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVFFlat_8h_source.html#l00029">GpuIndexIVFFlat.h:29</a></div></div> <div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexIVFFlatConfig_html_ab98ac354bcd5632976f7edc2deda6e57"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexIVFFlatConfig.html#ab98ac354bcd5632976f7edc2deda6e57">faiss::gpu::GpuIndexIVFFlatConfig::useFloat16IVFStorage</a></div><div class="ttdeci">bool useFloat16IVFStorage</div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVFFlat_8h_source.html#l00029">GpuIndexIVFFlat.h:29</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1GpuResources_html"><div class="ttname"><a href="classfaiss_1_1gpu_1_1GpuResources.html">faiss::gpu::GpuResources</a></div><div class="ttdef"><b>Definition:</b> <a href="GpuResources_8h_source.html#l00023">GpuResources.h:23</a></div></div> <div class="ttc" id="classfaiss_1_1gpu_1_1GpuResources_html"><div class="ttname"><a href="classfaiss_1_1gpu_1_1GpuResources.html">faiss::gpu::GpuResources</a></div><div class="ttdef"><b>Definition:</b> <a href="GpuResources_8h_source.html#l00023">GpuResources.h:23</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1CpuTimer_html"><div class="ttname"><a href="classfaiss_1_1gpu_1_1CpuTimer.html">faiss::gpu::CpuTimer</a></div><div class="ttdoc">CPU wallclock elapsed timer. </div><div class="ttdef"><b>Definition:</b> <a href="Timer_8h_source.html#l00042">Timer.h:42</a></div></div> <div class="ttc" id="classfaiss_1_1gpu_1_1CpuTimer_html"><div class="ttname"><a href="classfaiss_1_1gpu_1_1CpuTimer.html">faiss::gpu::CpuTimer</a></div><div class="ttdoc">CPU wallclock elapsed timer. </div><div class="ttdef"><b>Definition:</b> <a href="Timer_8h_source.html#l00042">Timer.h:42</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexIVFFlat_html"><div class="ttname"><a href="structfaiss_1_1IndexIVFFlat.html">faiss::IndexIVFFlat</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexIVF_8h_source.html#l00132">IndexIVF.h:132</a></div></div> <div class="ttc" id="structfaiss_1_1IndexIVFFlat_html"><div class="ttname"><a href="structfaiss_1_1IndexIVFFlat.html">faiss::IndexIVFFlat</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexIVF_8h_source.html#l00174">IndexIVF.h:174</a></div></div>
<div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexFlatConfig_html_afd694186c87751937a646f3db2c8ba3d"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexFlatConfig.html#afd694186c87751937a646f3db2c8ba3d">faiss::gpu::GpuIndexFlatConfig::useFloat16</a></div><div class="ttdeci">bool useFloat16</div><div class="ttdoc">Whether or not data is stored as float16. </div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexFlat_8h_source.html#l00035">GpuIndexFlat.h:35</a></div></div> <div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexFlatConfig_html_afd694186c87751937a646f3db2c8ba3d"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexFlatConfig.html#afd694186c87751937a646f3db2c8ba3d">faiss::gpu::GpuIndexFlatConfig::useFloat16</a></div><div class="ttdeci">bool useFloat16</div><div class="ttdoc">Whether or not data is stored as float16. </div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexFlat_8h_source.html#l00035">GpuIndexFlat.h:35</a></div></div>
<div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexConfig_html_aab05a0aa7b42feae7df4e556a52ead57"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexConfig.html#aab05a0aa7b42feae7df4e556a52ead57">faiss::gpu::GpuIndexConfig::device</a></div><div class="ttdeci">int device</div><div class="ttdoc">GPU device on which the index is resident. </div><div class="ttdef"><b>Definition:</b> <a href="GpuIndex_8h_source.html#l00027">GpuIndex.h:27</a></div></div> <div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexConfig_html_aab05a0aa7b42feae7df4e556a52ead57"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexConfig.html#aab05a0aa7b42feae7df4e556a52ead57">faiss::gpu::GpuIndexConfig::device</a></div><div class="ttdeci">int device</div><div class="ttdoc">GPU device on which the index is resident. </div><div class="ttdef"><b>Definition:</b> <a href="GpuIndex_8h_source.html#l00027">GpuIndex.h:27</a></div></div>
<div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexIVFConfig_html_a6d357a9a67a2fed9c8e7b139712d30f6"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexIVFConfig.html#a6d357a9a67a2fed9c8e7b139712d30f6">faiss::gpu::GpuIndexIVFConfig::flatConfig</a></div><div class="ttdeci">GpuIndexFlatConfig flatConfig</div><div class="ttdoc">Configuration for the coarse quantizer object. </div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVF_8h_source.html#l00034">GpuIndexIVF.h:34</a></div></div> <div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexIVFConfig_html_a6d357a9a67a2fed9c8e7b139712d30f6"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexIVFConfig.html#a6d357a9a67a2fed9c8e7b139712d30f6">faiss::gpu::GpuIndexIVFConfig::flatConfig</a></div><div class="ttdeci">GpuIndexFlatConfig flatConfig</div><div class="ttdoc">Configuration for the coarse quantizer object. </div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVF_8h_source.html#l00034">GpuIndexIVF.h:34</a></div></div>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -384,7 +384,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ...@@ -384,7 +384,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="classfaiss_1_1gpu_1_1GpuIndexIVF_html_a94c2c171f9a2d27085dea9101067bdf2"><div class="ttname"><a href="classfaiss_1_1gpu_1_1GpuIndexIVF.html#a94c2c171f9a2d27085dea9101067bdf2">faiss::gpu::GpuIndexIVF::copyFrom</a></div><div class="ttdeci">void copyFrom(const faiss::IndexIVF *index)</div><div class="ttdoc">Copy what we need from the CPU equivalent. </div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVF_8cu_source.html#l00080">GpuIndexIVF.cu:80</a></div></div> <div class="ttc" id="classfaiss_1_1gpu_1_1GpuIndexIVF_html_a94c2c171f9a2d27085dea9101067bdf2"><div class="ttname"><a href="classfaiss_1_1gpu_1_1GpuIndexIVF.html#a94c2c171f9a2d27085dea9101067bdf2">faiss::gpu::GpuIndexIVF::copyFrom</a></div><div class="ttdeci">void copyFrom(const faiss::IndexIVF *index)</div><div class="ttdoc">Copy what we need from the CPU equivalent. </div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVF_8cu_source.html#l00080">GpuIndexIVF.cu:80</a></div></div>
<div class="ttc" id="structfaiss_1_1Index_html_a6e92732617c4dbe364e7678dd8773a7f"><div class="ttname"><a href="structfaiss_1_1Index.html#a6e92732617c4dbe364e7678dd8773a7f">faiss::Index::is_trained</a></div><div class="ttdeci">bool is_trained</div><div class="ttdoc">set if the Index does not require training, or if training is done already </div><div class="ttdef"><b>Definition:</b> <a href="Index_8h_source.html#l00069">Index.h:69</a></div></div> <div class="ttc" id="structfaiss_1_1Index_html_a6e92732617c4dbe364e7678dd8773a7f"><div class="ttname"><a href="structfaiss_1_1Index.html#a6e92732617c4dbe364e7678dd8773a7f">faiss::Index::is_trained</a></div><div class="ttdeci">bool is_trained</div><div class="ttdoc">set if the Index does not require training, or if training is done already </div><div class="ttdef"><b>Definition:</b> <a href="Index_8h_source.html#l00069">Index.h:69</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1GpuIndexIVF_html_ace41857c97a357284acbe4556c9da3da"><div class="ttname"><a href="classfaiss_1_1gpu_1_1GpuIndexIVF.html#ace41857c97a357284acbe4556c9da3da">faiss::gpu::GpuIndexIVF::add</a></div><div class="ttdeci">void add(Index::idx_t n, const float *x) override</div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVF_8cu_source.html#l00215">GpuIndexIVF.cu:215</a></div></div> <div class="ttc" id="classfaiss_1_1gpu_1_1GpuIndexIVF_html_ace41857c97a357284acbe4556c9da3da"><div class="ttname"><a href="classfaiss_1_1gpu_1_1GpuIndexIVF.html#ace41857c97a357284acbe4556c9da3da">faiss::gpu::GpuIndexIVF::add</a></div><div class="ttdeci">void add(Index::idx_t n, const float *x) override</div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVF_8cu_source.html#l00215">GpuIndexIVF.cu:215</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexIVF_html_aedd0c14b5654295b291638ec7f9f9517"><div class="ttname"><a href="structfaiss_1_1IndexIVF.html#aedd0c14b5654295b291638ec7f9f9517">faiss::IndexIVF::maintain_direct_map</a></div><div class="ttdeci">bool maintain_direct_map</div><div class="ttdoc">map for direct access to the elements. Enables reconstruct(). </div><div class="ttdef"><b>Definition:</b> <a href="IndexIVF_8h_source.html#l00058">IndexIVF.h:58</a></div></div> <div class="ttc" id="structfaiss_1_1IndexIVF_html_aedd0c14b5654295b291638ec7f9f9517"><div class="ttname"><a href="structfaiss_1_1IndexIVF.html#aedd0c14b5654295b291638ec7f9f9517">faiss::IndexIVF::maintain_direct_map</a></div><div class="ttdeci">bool maintain_direct_map</div><div class="ttdoc">map for direct access to the elements. Enables reconstruct(). </div><div class="ttdef"><b>Definition:</b> <a href="IndexIVF_8h_source.html#l00061">IndexIVF.h:61</a></div></div>
<div class="ttc" id="structfaiss_1_1ClusteringParameters_html_ad997fb511f574f7ddc69938c21612f8d"><div class="ttname"><a href="structfaiss_1_1ClusteringParameters.html#ad997fb511f574f7ddc69938c21612f8d">faiss::ClusteringParameters::spherical</a></div><div class="ttdeci">bool spherical</div><div class="ttdoc">do we want normalized centroids? </div><div class="ttdef"><b>Definition:</b> <a href="Clustering_8h_source.html#l00029">Clustering.h:29</a></div></div> <div class="ttc" id="structfaiss_1_1ClusteringParameters_html_ad997fb511f574f7ddc69938c21612f8d"><div class="ttname"><a href="structfaiss_1_1ClusteringParameters.html#ad997fb511f574f7ddc69938c21612f8d">faiss::ClusteringParameters::spherical</a></div><div class="ttdeci">bool spherical</div><div class="ttdoc">do we want normalized centroids? </div><div class="ttdef"><b>Definition:</b> <a href="Clustering_8h_source.html#l00029">Clustering.h:29</a></div></div>
<div class="ttc" id="classfaiss_1_1gpu_1_1GpuIndexIVF_html_a520803e209b44c904b876d6b8dad23c9"><div class="ttname"><a href="classfaiss_1_1gpu_1_1GpuIndexIVF.html#a520803e209b44c904b876d6b8dad23c9">faiss::gpu::GpuIndexIVF::cp</a></div><div class="ttdeci">ClusteringParameters cp</div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVF_8h_source.html#l00082">GpuIndexIVF.h:82</a></div></div> <div class="ttc" id="classfaiss_1_1gpu_1_1GpuIndexIVF_html_a520803e209b44c904b876d6b8dad23c9"><div class="ttname"><a href="classfaiss_1_1gpu_1_1GpuIndexIVF.html#a520803e209b44c904b876d6b8dad23c9">faiss::gpu::GpuIndexIVF::cp</a></div><div class="ttdeci">ClusteringParameters cp</div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVF_8h_source.html#l00082">GpuIndexIVF.h:82</a></div></div>
<div class="ttc" id="namespacefaiss_html_afd12191c638da74760ff397cf319752c"><div class="ttname"><a href="namespacefaiss.html#afd12191c638da74760ff397cf319752c">faiss::MetricType</a></div><div class="ttdeci">MetricType</div><div class="ttdoc">Some algorithms support both an inner product vetsion and a L2 search version. </div><div class="ttdef"><b>Definition:</b> <a href="Index_8h_source.html#l00043">Index.h:43</a></div></div> <div class="ttc" id="namespacefaiss_html_afd12191c638da74760ff397cf319752c"><div class="ttname"><a href="namespacefaiss.html#afd12191c638da74760ff397cf319752c">faiss::MetricType</a></div><div class="ttdeci">MetricType</div><div class="ttdoc">Some algorithms support both an inner product vetsion and a L2 search version. </div><div class="ttdef"><b>Definition:</b> <a href="Index_8h_source.html#l00043">Index.h:43</a></div></div>
......
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
...@@ -642,7 +642,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ...@@ -642,7 +642,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="classfaiss_1_1gpu_1_1StandardGpuResources_html_a6431477a7328ac147797b3b4e3fcf651"><div class="ttname"><a href="classfaiss_1_1gpu_1_1StandardGpuResources.html#a6431477a7328ac147797b3b4e3fcf651">faiss::gpu::StandardGpuResources::noTempMemory</a></div><div class="ttdeci">void noTempMemory()</div><div class="ttdef"><b>Definition:</b> <a href="StandardGpuResources_8cpp_source.html#l00076">StandardGpuResources.cpp:76</a></div></div> <div class="ttc" id="classfaiss_1_1gpu_1_1StandardGpuResources_html_a6431477a7328ac147797b3b4e3fcf651"><div class="ttname"><a href="classfaiss_1_1gpu_1_1StandardGpuResources.html#a6431477a7328ac147797b3b4e3fcf651">faiss::gpu::StandardGpuResources::noTempMemory</a></div><div class="ttdeci">void noTempMemory()</div><div class="ttdef"><b>Definition:</b> <a href="StandardGpuResources_8cpp_source.html#l00076">StandardGpuResources.cpp:76</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexFlatL2_html"><div class="ttname"><a href="structfaiss_1_1IndexFlatL2.html">faiss::IndexFlatL2</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8h_source.html#l00079">IndexFlat.h:79</a></div></div> <div class="ttc" id="structfaiss_1_1IndexFlatL2_html"><div class="ttname"><a href="structfaiss_1_1IndexFlatL2.html">faiss::IndexFlatL2</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8h_source.html#l00079">IndexFlat.h:79</a></div></div>
<div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexIVFFlatConfig_html_ab98ac354bcd5632976f7edc2deda6e57"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexIVFFlatConfig.html#ab98ac354bcd5632976f7edc2deda6e57">faiss::gpu::GpuIndexIVFFlatConfig::useFloat16IVFStorage</a></div><div class="ttdeci">bool useFloat16IVFStorage</div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVFFlat_8h_source.html#l00029">GpuIndexIVFFlat.h:29</a></div></div> <div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexIVFFlatConfig_html_ab98ac354bcd5632976f7edc2deda6e57"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexIVFFlatConfig.html#ab98ac354bcd5632976f7edc2deda6e57">faiss::gpu::GpuIndexIVFFlatConfig::useFloat16IVFStorage</a></div><div class="ttdeci">bool useFloat16IVFStorage</div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexIVFFlat_8h_source.html#l00029">GpuIndexIVFFlat.h:29</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexIVFFlat_html"><div class="ttname"><a href="structfaiss_1_1IndexIVFFlat.html">faiss::IndexIVFFlat</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexIVF_8h_source.html#l00132">IndexIVF.h:132</a></div></div> <div class="ttc" id="structfaiss_1_1IndexIVFFlat_html"><div class="ttname"><a href="structfaiss_1_1IndexIVFFlat.html">faiss::IndexIVFFlat</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexIVF_8h_source.html#l00174">IndexIVF.h:174</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexFlatIP_html"><div class="ttname"><a href="structfaiss_1_1IndexFlatIP.html">faiss::IndexFlatIP</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8h_source.html#l00073">IndexFlat.h:73</a></div></div> <div class="ttc" id="structfaiss_1_1IndexFlatIP_html"><div class="ttname"><a href="structfaiss_1_1IndexFlatIP.html">faiss::IndexFlatIP</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8h_source.html#l00073">IndexFlat.h:73</a></div></div>
<div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexFlatConfig_html_afd694186c87751937a646f3db2c8ba3d"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexFlatConfig.html#afd694186c87751937a646f3db2c8ba3d">faiss::gpu::GpuIndexFlatConfig::useFloat16</a></div><div class="ttdeci">bool useFloat16</div><div class="ttdoc">Whether or not data is stored as float16. </div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexFlat_8h_source.html#l00035">GpuIndexFlat.h:35</a></div></div> <div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexFlatConfig_html_afd694186c87751937a646f3db2c8ba3d"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexFlatConfig.html#afd694186c87751937a646f3db2c8ba3d">faiss::gpu::GpuIndexFlatConfig::useFloat16</a></div><div class="ttdeci">bool useFloat16</div><div class="ttdoc">Whether or not data is stored as float16. </div><div class="ttdef"><b>Definition:</b> <a href="GpuIndexFlat_8h_source.html#l00035">GpuIndexFlat.h:35</a></div></div>
<div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexConfig_html_aab05a0aa7b42feae7df4e556a52ead57"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexConfig.html#aab05a0aa7b42feae7df4e556a52ead57">faiss::gpu::GpuIndexConfig::device</a></div><div class="ttdeci">int device</div><div class="ttdoc">GPU device on which the index is resident. </div><div class="ttdef"><b>Definition:</b> <a href="GpuIndex_8h_source.html#l00027">GpuIndex.h:27</a></div></div> <div class="ttc" id="structfaiss_1_1gpu_1_1GpuIndexConfig_html_aab05a0aa7b42feae7df4e556a52ead57"><div class="ttname"><a href="structfaiss_1_1gpu_1_1GpuIndexConfig.html#aab05a0aa7b42feae7df4e556a52ead57">faiss::gpu::GpuIndexConfig::device</a></div><div class="ttdeci">int device</div><div class="ttdoc">GPU device on which the index is resident. </div><div class="ttdef"><b>Definition:</b> <a href="GpuIndex_8h_source.html#l00027">GpuIndex.h:27</a></div></div>
......
This diff is collapsed.
This diff is collapsed.
...@@ -193,7 +193,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ...@@ -193,7 +193,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;}</div> <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;}</div>
<div class="ttc" id="structfaiss_1_1IndexFlat_html"><div class="ttname"><a href="structfaiss_1_1IndexFlat.html">faiss::IndexFlat</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8h_source.html#l00023">IndexFlat.h:23</a></div></div> <div class="ttc" id="structfaiss_1_1IndexFlat_html"><div class="ttname"><a href="structfaiss_1_1IndexFlat.html">faiss::IndexFlat</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8h_source.html#l00023">IndexFlat.h:23</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexFlatL2_html"><div class="ttname"><a href="structfaiss_1_1IndexFlatL2.html">faiss::IndexFlatL2</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8h_source.html#l00079">IndexFlat.h:79</a></div></div> <div class="ttc" id="structfaiss_1_1IndexFlatL2_html"><div class="ttname"><a href="structfaiss_1_1IndexFlatL2.html">faiss::IndexFlatL2</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8h_source.html#l00079">IndexFlat.h:79</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexIVFFlat_html"><div class="ttname"><a href="structfaiss_1_1IndexIVFFlat.html">faiss::IndexIVFFlat</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexIVF_8h_source.html#l00132">IndexIVF.h:132</a></div></div> <div class="ttc" id="structfaiss_1_1IndexIVFFlat_html"><div class="ttname"><a href="structfaiss_1_1IndexIVFFlat.html">faiss::IndexIVFFlat</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexIVF_8h_source.html#l00174">IndexIVF.h:174</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexFlatIP_html"><div class="ttname"><a href="structfaiss_1_1IndexFlatIP.html">faiss::IndexFlatIP</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8h_source.html#l00073">IndexFlat.h:73</a></div></div> <div class="ttc" id="structfaiss_1_1IndexFlatIP_html"><div class="ttname"><a href="structfaiss_1_1IndexFlatIP.html">faiss::IndexFlatIP</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexFlat_8h_source.html#l00073">IndexFlat.h:73</a></div></div>
<div class="ttc" id="structfaiss_1_1IndexIVFPQ_html"><div class="ttname"><a href="structfaiss_1_1IndexIVFPQ.html">faiss::IndexIVFPQ</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexIVFPQ_8h_source.html#l00029">IndexIVFPQ.h:29</a></div></div> <div class="ttc" id="structfaiss_1_1IndexIVFPQ_html"><div class="ttname"><a href="structfaiss_1_1IndexIVFPQ.html">faiss::IndexIVFPQ</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexIVFPQ_8h_source.html#l00029">IndexIVFPQ.h:29</a></div></div>
</div><!-- fragment --></div><!-- contents --> </div><!-- fragment --></div><!-- contents -->
......
This diff is collapsed.
This diff is collapsed.
...@@ -394,7 +394,7 @@ const MemorySpace&#160;</td><td class="memItemRight" valign="bottom"><a class="e ...@@ -394,7 +394,7 @@ const MemorySpace&#160;</td><td class="memItemRight" valign="bottom"><a class="e
</div><div class="memdoc"> </div><div class="memdoc">
<p>Copy ourselves to the given CPU index; will overwrite all data in the index instance </p> <p>Copy ourselves to the given CPU index; will overwrite all data in the index instance </p>
<p>Definition at line <a class="el" href="GpuIndexIVFFlat_8cu_source.html#l00126">126</a> of file <a class="el" href="GpuIndexIVFFlat_8cu_source.html">GpuIndexIVFFlat.cu</a>.</p> <p>Definition at line <a class="el" href="GpuIndexIVFFlat_8cu_source.html#l00127">127</a> of file <a class="el" href="GpuIndexIVFFlat_8cu_source.html">GpuIndexIVFFlat.cu</a>.</p>
</div> </div>
</div> </div>
...@@ -412,7 +412,7 @@ const MemorySpace&#160;</td><td class="memItemRight" valign="bottom"><a class="e ...@@ -412,7 +412,7 @@ const MemorySpace&#160;</td><td class="memItemRight" valign="bottom"><a class="e
</div><div class="memdoc"> </div><div class="memdoc">
<p>After adding vectors, one can call this to reclaim device memory to exactly the amount needed. Returns space reclaimed in bytes </p> <p>After adding vectors, one can call this to reclaim device memory to exactly the amount needed. Returns space reclaimed in bytes </p>
<p>Definition at line <a class="el" href="GpuIndexIVFFlat_8cu_source.html#l00150">150</a> of file <a class="el" href="GpuIndexIVFFlat_8cu_source.html">GpuIndexIVFFlat.cu</a>.</p> <p>Definition at line <a class="el" href="GpuIndexIVFFlat_8cu_source.html#l00154">154</a> of file <a class="el" href="GpuIndexIVFFlat_8cu_source.html">GpuIndexIVFFlat.cu</a>.</p>
</div> </div>
</div> </div>
...@@ -458,7 +458,7 @@ const MemorySpace&#160;</td><td class="memItemRight" valign="bottom"><a class="e ...@@ -458,7 +458,7 @@ const MemorySpace&#160;</td><td class="memItemRight" valign="bottom"><a class="e
<p>Reimplemented from <a class="el" href="structfaiss_1_1Index.html#a1ffe916c958605c38b0b1bfad42485e4">faiss::Index</a>.</p> <p>Reimplemented from <a class="el" href="structfaiss_1_1Index.html#a1ffe916c958605c38b0b1bfad42485e4">faiss::Index</a>.</p>
<p>Definition at line <a class="el" href="GpuIndexIVFFlat_8cu_source.html#l00173">173</a> of file <a class="el" href="GpuIndexIVFFlat_8cu_source.html">GpuIndexIVFFlat.cu</a>.</p> <p>Definition at line <a class="el" href="GpuIndexIVFFlat_8cu_source.html#l00177">177</a> of file <a class="el" href="GpuIndexIVFFlat_8cu_source.html">GpuIndexIVFFlat.cu</a>.</p>
</div> </div>
</div> </div>
......
...@@ -240,7 +240,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ...@@ -240,7 +240,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; }</div> <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; }</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">return</span> 0;</div> <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;}</div> <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;}</div>
<div class="ttc" id="structfaiss_1_1IndexIVFFlat_html"><div class="ttname"><a href="structfaiss_1_1IndexIVFFlat.html">faiss::IndexIVFFlat</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexIVF_8h_source.html#l00132">IndexIVF.h:132</a></div></div> <div class="ttc" id="structfaiss_1_1IndexIVFFlat_html"><div class="ttname"><a href="structfaiss_1_1IndexIVFFlat.html">faiss::IndexIVFFlat</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexIVF_8h_source.html#l00174">IndexIVF.h:174</a></div></div>
<div class="ttc" id="structfaiss_1_1MultiIndexQuantizer_html"><div class="ttname"><a href="structfaiss_1_1MultiIndexQuantizer.html">faiss::MultiIndexQuantizer</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexPQ_8h_source.html#l00135">IndexPQ.h:135</a></div></div> <div class="ttc" id="structfaiss_1_1MultiIndexQuantizer_html"><div class="ttname"><a href="structfaiss_1_1MultiIndexQuantizer.html">faiss::MultiIndexQuantizer</a></div><div class="ttdef"><b>Definition:</b> <a href="IndexPQ_8h_source.html#l00135">IndexPQ.h:135</a></div></div>
<div class="ttc" id="namespacefaiss_html_afd12191c638da74760ff397cf319752c"><div class="ttname"><a href="namespacefaiss.html#afd12191c638da74760ff397cf319752c">faiss::MetricType</a></div><div class="ttdeci">MetricType</div><div class="ttdoc">Some algorithms support both an inner product vetsion and a L2 search version. </div><div class="ttdef"><b>Definition:</b> <a href="Index_8h_source.html#l00043">Index.h:43</a></div></div> <div class="ttc" id="namespacefaiss_html_afd12191c638da74760ff397cf319752c"><div class="ttname"><a href="namespacefaiss.html#afd12191c638da74760ff397cf319752c">faiss::MetricType</a></div><div class="ttdeci">MetricType</div><div class="ttdoc">Some algorithms support both an inner product vetsion and a L2 search version. </div><div class="ttdef"><b>Definition:</b> <a href="Index_8h_source.html#l00043">Index.h:43</a></div></div>
</div><!-- fragment --></div><!-- contents --> </div><!-- fragment --></div><!-- contents -->
......
...@@ -99,6 +99,8 @@ Files</h2></td></tr> ...@@ -99,6 +99,8 @@ Files</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:test__ivfpq__indexing_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>test_ivfpq_indexing.cpp</b> <a href="test__ivfpq__indexing_8cpp_source.html">[code]</a></td></tr> <tr class="memitem:test__ivfpq__indexing_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>test_ivfpq_indexing.cpp</b> <a href="test__ivfpq__indexing_8cpp_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:test__pairs__decoding_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>test_pairs_decoding.cpp</b> <a href="test__pairs__decoding_8cpp_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table> </table>
</div><!-- contents --> </div><!-- contents -->
<!-- start footer part --> <!-- start footer part -->
......
This diff is collapsed.
...@@ -158,7 +158,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ...@@ -158,7 +158,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</li> </li>
<li>add_core() <li>add_core()
: <a class="el" href="structfaiss_1_1IndexIVFFlat.html#aea729c3d8c70bdd93f8e413e834851a4">faiss::IndexIVFFlat</a> : <a class="el" href="structfaiss_1_1IndexIVFFlat.html#aea729c3d8c70bdd93f8e413e834851a4">faiss::IndexIVFFlat</a>
, <a class="el" href="structfaiss_1_1IndexIVFFlatIPBounds.html#a938285c16dafe294775643b820637444">faiss::IndexIVFFlatIPBounds</a>
, <a class="el" href="structfaiss_1_1IndexIVFPQR.html#a186b746f22b65ddf416b1e821b0866ec">faiss::IndexIVFPQR</a> , <a class="el" href="structfaiss_1_1IndexIVFPQR.html#a186b746f22b65ddf416b1e821b0866ec">faiss::IndexIVFPQR</a>
</li> </li>
<li>add_core_o() <li>add_core_o()
...@@ -168,26 +167,26 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ...@@ -168,26 +167,26 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: <a class="el" href="structfaiss_1_1ParameterSpace.html#aeaa27a715fe3fceef5da18d894976833">faiss::ParameterSpace</a> : <a class="el" href="structfaiss_1_1ParameterSpace.html#aeaa27a715fe3fceef5da18d894976833">faiss::ParameterSpace</a>
</li> </li>
<li>add_with_ids() <li>add_with_ids()
: <a class="el" href="structfaiss_1_1Index.html#aa6931dfe054b33b02c842ff75f7a0c7f">faiss::Index</a> : <a class="el" href="structfaiss_1_1IndexIVFFlat.html#a5f7356766632d3ce2838f285aa6b8e76">faiss::IndexIVFFlat</a>
, <a class="el" href="structfaiss_1_1IndexShards.html#a1f771d50133494f682f05c9ab9e39ad9">faiss::IndexShards</a> , <a class="el" href="structfaiss_1_1IndexPreTransform.html#a07fef0553b2ef2907f394470f61898b2">faiss::IndexPreTransform</a>
, <a class="el" href="structfaiss_1_1IndexIVFFlat.html#a5f7356766632d3ce2838f285aa6b8e76">faiss::IndexIVFFlat</a>
, <a class="el" href="structfaiss_1_1IndexIVFPQ.html#a981c2748bfbd9b018494f119279a0342">faiss::IndexIVFPQ</a> , <a class="el" href="structfaiss_1_1IndexIVFPQ.html#a981c2748bfbd9b018494f119279a0342">faiss::IndexIVFPQ</a>
, <a class="el" href="structfaiss_1_1IndexIVFPQR.html#a4b6154a5194d574d037ba78c137a2fa5">faiss::IndexIVFPQR</a> , <a class="el" href="structfaiss_1_1IndexIVFPQR.html#a4b6154a5194d574d037ba78c137a2fa5">faiss::IndexIVFPQR</a>
, <a class="el" href="structfaiss_1_1IndexIVFScalarQuantizer.html#afa95c17787b7e3dbed9309b440d4d748">faiss::IndexIVFScalarQuantizer</a> , <a class="el" href="structfaiss_1_1IndexIVFScalarQuantizer.html#afa95c17787b7e3dbed9309b440d4d748">faiss::IndexIVFScalarQuantizer</a>
, <a class="el" href="structfaiss_1_1IndexIDMap.html#aeace75e53648c052d05c357b744e090b">faiss::IndexIDMap</a> , <a class="el" href="structfaiss_1_1IndexIDMap.html#aeace75e53648c052d05c357b744e090b">faiss::IndexIDMap</a>
, <a class="el" href="structfaiss_1_1IndexIDMap2.html#a33ff76975891695c2fa45ed26fc8eae9">faiss::IndexIDMap2</a> , <a class="el" href="structfaiss_1_1IndexIDMap2.html#a33ff76975891695c2fa45ed26fc8eae9">faiss::IndexIDMap2</a>
, <a class="el" href="structfaiss_1_1IndexPreTransform.html#a07fef0553b2ef2907f394470f61898b2">faiss::IndexPreTransform</a> , <a class="el" href="structfaiss_1_1IndexShards.html#a1f771d50133494f682f05c9ab9e39ad9">faiss::IndexShards</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndex.html#a47f6969fe60d82b8e3407557ba9eec88">faiss::gpu::GpuIndex</a> , <a class="el" href="classfaiss_1_1gpu_1_1GpuIndex.html#a47f6969fe60d82b8e3407557ba9eec88">faiss::gpu::GpuIndex</a>
, <a class="el" href="structfaiss_1_1Index.html#aa6931dfe054b33b02c842ff75f7a0c7f">faiss::Index</a>
</li> </li>
<li>addCodeVectorsFromCpu() <li>addCodeVectorsFromCpu()
: <a class="el" href="classfaiss_1_1gpu_1_1IVFFlat.html#a0bedde6dcb7c2f10f277461b97486f52">faiss::gpu::IVFFlat</a> : <a class="el" href="classfaiss_1_1gpu_1_1IVFFlat.html#a0bedde6dcb7c2f10f277461b97486f52">faiss::gpu::IVFFlat</a>
, <a class="el" href="classfaiss_1_1gpu_1_1IVFPQ.html#a9992b38226dc8f92ca2691582fabb675">faiss::gpu::IVFPQ</a> , <a class="el" href="classfaiss_1_1gpu_1_1IVFPQ.html#a9992b38226dc8f92ca2691582fabb675">faiss::gpu::IVFPQ</a>
</li> </li>
<li>addImpl_() <li>addImpl_()
: <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexFlat.html#ae0c916b911eda2f1a09a55f42ebc729c">faiss::gpu::GpuIndexFlat</a> : <a class="el" href="classfaiss_1_1gpu_1_1GpuIndex.html#a345819c6214c2a6eb7874dde1145036f">faiss::gpu::GpuIndex</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVFFlat.html#a64bd89e18b8199ae7a88066890b10a0e">faiss::gpu::GpuIndexIVFFlat</a> , <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVFFlat.html#a64bd89e18b8199ae7a88066890b10a0e">faiss::gpu::GpuIndexIVFFlat</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVFPQ.html#a50e74f0621ca2fe5688825f434ad2bb2">faiss::gpu::GpuIndexIVFPQ</a> , <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVFPQ.html#a50e74f0621ca2fe5688825f434ad2bb2">faiss::gpu::GpuIndexIVFPQ</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndex.html#a345819c6214c2a6eb7874dde1145036f">faiss::gpu::GpuIndex</a> , <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexFlat.html#ae0c916b911eda2f1a09a55f42ebc729c">faiss::gpu::GpuIndexFlat</a>
</li> </li>
<li>addIndex() <li>addIndex()
: <a class="el" href="classfaiss_1_1gpu_1_1IndexProxy.html#af9bb81e75f8d5471094e4d4776a56f63">faiss::gpu::IndexProxy</a> : <a class="el" href="classfaiss_1_1gpu_1_1IndexProxy.html#af9bb81e75f8d5471094e4d4776a56f63">faiss::gpu::IndexProxy</a>
...@@ -231,15 +230,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ...@@ -231,15 +230,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li>apply_noalloc() <li>apply_noalloc()
: <a class="el" href="structfaiss_1_1NormalizationTransform.html#a80c94dc7d17c9a7a9edc627150401571">faiss::NormalizationTransform</a> : <a class="el" href="structfaiss_1_1NormalizationTransform.html#a80c94dc7d17c9a7a9edc627150401571">faiss::NormalizationTransform</a>
, <a class="el" href="structfaiss_1_1RemapDimensionsTransform.html#a550be3d40c221d2134bf06a13dd33c4d">faiss::RemapDimensionsTransform</a> , <a class="el" href="structfaiss_1_1RemapDimensionsTransform.html#a550be3d40c221d2134bf06a13dd33c4d">faiss::RemapDimensionsTransform</a>
, <a class="el" href="structfaiss_1_1LinearTransform.html#af9c20b4ae67691b5713489884ca9f80f">faiss::LinearTransform</a>
, <a class="el" href="structfaiss_1_1VectorTransform.html#a90f1a218c224c049f1bd8b77a78d6aa0">faiss::VectorTransform</a> , <a class="el" href="structfaiss_1_1VectorTransform.html#a90f1a218c224c049f1bd8b77a78d6aa0">faiss::VectorTransform</a>
, <a class="el" href="structfaiss_1_1LinearTransform.html#af9c20b4ae67691b5713489884ca9f80f">faiss::LinearTransform</a>
</li> </li>
<li>apply_preprocess() <li>apply_preprocess()
: <a class="el" href="structfaiss_1_1IndexLSH.html#ae7bb111e0aa6bd1b2a13e5efa8ef9cea">faiss::IndexLSH</a> : <a class="el" href="structfaiss_1_1IndexLSH.html#ae7bb111e0aa6bd1b2a13e5efa8ef9cea">faiss::IndexLSH</a>
</li> </li>
<li>as() <li>as()
: <a class="el" href="classfaiss_1_1gpu_1_1detail_1_1SubTensor_3_01TensorType_00_010_00_01PtrTraits_01_4.html#a67bfa92466e03834b7f007cb9cdf8d50">faiss::gpu::detail::SubTensor&lt; TensorType, 0, PtrTraits &gt;</a> : <a class="el" href="classfaiss_1_1gpu_1_1detail_1_1SubTensor.html#aefdafcf236e5c49ad3bce1646797f8f2">faiss::gpu::detail::SubTensor&lt; TensorType, SubDim, PtrTraits &gt;</a>
, <a class="el" href="classfaiss_1_1gpu_1_1detail_1_1SubTensor.html#aefdafcf236e5c49ad3bce1646797f8f2">faiss::gpu::detail::SubTensor&lt; TensorType, SubDim, PtrTraits &gt;</a> , <a class="el" href="classfaiss_1_1gpu_1_1detail_1_1SubTensor_3_01TensorType_00_010_00_01PtrTraits_01_4.html#ad1d375e64756991dadeb5a1e63ed2cfd">faiss::gpu::detail::SubTensor&lt; TensorType, 0, PtrTraits &gt;</a>
</li> </li>
<li>assign() <li>assign()
: <a class="el" href="structfaiss_1_1Index.html#a8bc5d8d1cd0dd7b34b3c98a9f76b4a9c">faiss::Index</a> : <a class="el" href="structfaiss_1_1Index.html#a8bc5d8d1cd0dd7b34b3c98a9f76b4a9c">faiss::Index</a>
......
...@@ -161,7 +161,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ...@@ -161,7 +161,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: <a class="el" href="structfaiss_1_1OperatingPoint.html#a2c023f1484e4748e3e97681bb1f4b78e">faiss::OperatingPoint</a> : <a class="el" href="structfaiss_1_1OperatingPoint.html#a2c023f1484e4748e3e97681bb1f4b78e">faiss::OperatingPoint</a>
</li> </li>
<li>code_size <li>code_size
: <a class="el" href="structfaiss_1_1IndexIVFPQ.html#a31c6fb2faa4dadea4c0594338be7be90">faiss::IndexIVFPQ</a> : <a class="el" href="structfaiss_1_1IndexIVF.html#a46d1aeddb60643c5b3f096147c3e028f">faiss::IndexIVF</a>
, <a class="el" href="structfaiss_1_1ScalarQuantizer.html#a647b8774e4cd8ca5623a194f5c7f8a33">faiss::ScalarQuantizer</a> , <a class="el" href="structfaiss_1_1ScalarQuantizer.html#a647b8774e4cd8ca5623a194f5c7f8a33">faiss::ScalarQuantizer</a>
, <a class="el" href="structfaiss_1_1ProductQuantizer.html#aa61330eadb84772b71018b093773a5f9">faiss::ProductQuantizer</a> , <a class="el" href="structfaiss_1_1ProductQuantizer.html#aa61330eadb84772b71018b093773a5f9">faiss::ProductQuantizer</a>
</li> </li>
...@@ -169,7 +169,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ...@@ -169,7 +169,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: <a class="el" href="structfaiss_1_1IndexLSH.html#a55c0f1127850af0d06ef22fc8b791572">faiss::IndexLSH</a> : <a class="el" href="structfaiss_1_1IndexLSH.html#a55c0f1127850af0d06ef22fc8b791572">faiss::IndexLSH</a>
, <a class="el" href="structfaiss_1_1IndexPQ.html#a490b64b12384951ed66548a3a48f91e5">faiss::IndexPQ</a> , <a class="el" href="structfaiss_1_1IndexPQ.html#a490b64b12384951ed66548a3a48f91e5">faiss::IndexPQ</a>
, <a class="el" href="structfaiss_1_1IndexScalarQuantizer.html#a861fa059f9d4ced9147e08193a2be9be">faiss::IndexScalarQuantizer</a> , <a class="el" href="structfaiss_1_1IndexScalarQuantizer.html#a861fa059f9d4ced9147e08193a2be9be">faiss::IndexScalarQuantizer</a>
, <a class="el" href="structfaiss_1_1IndexIVFScalarQuantizer.html#abc335510a1855faecb3e445c49a9b204">faiss::IndexIVFScalarQuantizer</a>
</li> </li>
<li>combination_ge() <li>combination_ge()
: <a class="el" href="structfaiss_1_1ParameterSpace.html#a7cdedaf4bab33293771c4267d453a950">faiss::ParameterSpace</a> : <a class="el" href="structfaiss_1_1ParameterSpace.html#a7cdedaf4bab33293771c4267d453a950">faiss::ParameterSpace</a>
...@@ -230,31 +229,30 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ...@@ -230,31 +229,30 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: <a class="el" href="structfaiss_1_1BufferList.html#a78b70417a9ba5b27553b3134f1190958">faiss::BufferList</a> : <a class="el" href="structfaiss_1_1BufferList.html#a78b70417a9ba5b27553b3134f1190958">faiss::BufferList</a>
</li> </li>
<li>copy_subset_to() <li>copy_subset_to()
: <a class="el" href="structfaiss_1_1IndexIVFPQ.html#af278c710f6c7605f59e1da48a6dea37a">faiss::IndexIVFPQ</a> : <a class="el" href="structfaiss_1_1IndexIVF.html#a2fc63f9bbfe64e05106366465ece2187">faiss::IndexIVF</a>
, <a class="el" href="structfaiss_1_1IndexIVFFlat.html#a1d0a5285344c3302ba10bb79f4578a82">faiss::IndexIVFFlat</a>
</li> </li>
<li>copyFrom() <li>copyFrom()
: <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexFlatL2.html#a9a9de859274bb73e6d8ea02cae5ca9a6">faiss::gpu::GpuIndexFlatL2</a> : <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexFlatL2.html#a9a9de859274bb73e6d8ea02cae5ca9a6">faiss::gpu::GpuIndexFlatL2</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVF.html#a94c2c171f9a2d27085dea9101067bdf2">faiss::gpu::GpuIndexIVF</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexFlatIP.html#aa181b1778a8dca81ac5cf6cd6a3d5f1d">faiss::gpu::GpuIndexFlatIP</a> , <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexFlatIP.html#aa181b1778a8dca81ac5cf6cd6a3d5f1d">faiss::gpu::GpuIndexFlatIP</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVFPQ.html#a8d48f79af9080b55706050244fc24f0e">faiss::gpu::GpuIndexIVFPQ</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexFlat.html#abb964875e0893de1d8334ca5ad0f62dc">faiss::gpu::GpuIndexFlat</a> , <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexFlat.html#abb964875e0893de1d8334ca5ad0f62dc">faiss::gpu::GpuIndexFlat</a>
, <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#ae981a94263044f38be89d690dd958426">faiss::gpu::Tensor&lt; T, Dim, Contig, IndexT, PtrTraits &gt;</a> , <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#ae981a94263044f38be89d690dd958426">faiss::gpu::Tensor&lt; T, Dim, Contig, IndexT, PtrTraits &gt;</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVF.html#a94c2c171f9a2d27085dea9101067bdf2">faiss::gpu::GpuIndexIVF</a> , <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVFPQ.html#a8d48f79af9080b55706050244fc24f0e">faiss::gpu::GpuIndexIVFPQ</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVFFlat.html#a96fd66c31c7e46b1549ed61d1b3476f3">faiss::gpu::GpuIndexIVFFlat</a> , <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVFFlat.html#a96fd66c31c7e46b1549ed61d1b3476f3">faiss::gpu::GpuIndexIVFFlat</a>
</li> </li>
<li>copyTo() <li>copyTo()
: <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexFlatIP.html#af70d0fe80cf3bf16ffffd8b16ed64f08">faiss::gpu::GpuIndexFlatIP</a> : <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexFlatL2.html#ab21960d379190b98aaa05ae3877dea09">faiss::gpu::GpuIndexFlatL2</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVF.html#a1db0a796b8b2917d989952c5f07fbe55">faiss::gpu::GpuIndexIVF</a> , <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexFlatIP.html#af70d0fe80cf3bf16ffffd8b16ed64f08">faiss::gpu::GpuIndexFlatIP</a>
, <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a6ce60d784817469d5b47b560da177b92">faiss::gpu::Tensor&lt; T, Dim, Contig, IndexT, PtrTraits &gt;</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexFlatL2.html#ab21960d379190b98aaa05ae3877dea09">faiss::gpu::GpuIndexFlatL2</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexFlat.html#a046007ff2fafcafc6ae328769c700e39">faiss::gpu::GpuIndexFlat</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVFPQ.html#aad10de2407911e9adf42c1be5c5dd390">faiss::gpu::GpuIndexIVFPQ</a> , <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVFPQ.html#aad10de2407911e9adf42c1be5c5dd390">faiss::gpu::GpuIndexIVFPQ</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVF.html#a1db0a796b8b2917d989952c5f07fbe55">faiss::gpu::GpuIndexIVF</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVFFlat.html#a345980d7ae4b5baadf93f647fc6cb0b1">faiss::gpu::GpuIndexIVFFlat</a> , <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVFFlat.html#a345980d7ae4b5baadf93f647fc6cb0b1">faiss::gpu::GpuIndexIVFFlat</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexFlat.html#a046007ff2fafcafc6ae328769c700e39">faiss::gpu::GpuIndexFlat</a>
, <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a6ce60d784817469d5b47b560da177b92">faiss::gpu::Tensor&lt; T, Dim, Contig, IndexT, PtrTraits &gt;</a>
</li> </li>
<li>cp <li>cp
: <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVF.html#a520803e209b44c904b876d6b8dad23c9">faiss::gpu::GpuIndexIVF</a> : <a class="el" href="structfaiss_1_1ProductQuantizer.html#af265acf5aa1bcda60898002287e6a3d6">faiss::ProductQuantizer</a>
, <a class="el" href="structfaiss_1_1ProductQuantizer.html#af265acf5aa1bcda60898002287e6a3d6">faiss::ProductQuantizer</a>
, <a class="el" href="structfaiss_1_1IndexIVF.html#a9746bcd42ecec1501f221e918b25e8e7">faiss::IndexIVF</a> , <a class="el" href="structfaiss_1_1IndexIVF.html#a9746bcd42ecec1501f221e918b25e8e7">faiss::IndexIVF</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVF.html#a520803e209b44c904b876d6b8dad23c9">faiss::gpu::GpuIndexIVF</a>
</li> </li>
<li>CpuTimer() <li>CpuTimer()
: <a class="el" href="classfaiss_1_1gpu_1_1CpuTimer.html#af2f8e832b4c5425e152834ae7aa2af49">faiss::gpu::CpuTimer</a> : <a class="el" href="classfaiss_1_1gpu_1_1CpuTimer.html#af2f8e832b4c5425e152834ae7aa2af49">faiss::gpu::CpuTimer</a>
......
...@@ -131,9 +131,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ...@@ -131,9 +131,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li>flatConfig <li>flatConfig
: <a class="el" href="structfaiss_1_1gpu_1_1GpuIndexIVFConfig.html#a6d357a9a67a2fed9c8e7b139712d30f6">faiss::gpu::GpuIndexIVFConfig</a> : <a class="el" href="structfaiss_1_1gpu_1_1GpuIndexIVFConfig.html#a6d357a9a67a2fed9c8e7b139712d30f6">faiss::gpu::GpuIndexIVFConfig</a>
</li> </li>
<li>fsize
: <a class="el" href="structfaiss_1_1IndexIVFFlatIPBounds.html#a32e550879d0bf5eecf0a939eb25b3c0c">faiss::IndexIVFFlatIPBounds</a>
</li>
</ul> </ul>
</div><!-- contents --> </div><!-- contents -->
<!-- start footer part --> <!-- start footer part -->
......
...@@ -171,20 +171,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ...@@ -171,20 +171,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</li> </li>
<li>merge_from() <li>merge_from()
: <a class="el" href="structfaiss_1_1IndexIVF.html#a0f22cc237c30c935df5b6560aecf8f01">faiss::IndexIVF</a> : <a class="el" href="structfaiss_1_1IndexIVF.html#a0f22cc237c30c935df5b6560aecf8f01">faiss::IndexIVF</a>
</li> , <a class="el" href="structfaiss_1_1IndexIVFPQR.html#a31a1fec2a88b410ea96ce5be7d527be9">faiss::IndexIVFPQR</a>
<li>merge_from_residuals()
: <a class="el" href="structfaiss_1_1IndexIVF.html#aacaf0b2529a9d9def094ea3728a12824">faiss::IndexIVF</a>
, <a class="el" href="structfaiss_1_1IndexIVFPQR.html#af6c7ee3bc917cc5d4ab04ff64269ee06">faiss::IndexIVFPQR</a>
, <a class="el" href="structfaiss_1_1IndexIVFPQ.html#a6b8964e2da609a9261a8a35ae347ecb2">faiss::IndexIVFPQ</a>
, <a class="el" href="structfaiss_1_1IndexIVFScalarQuantizer.html#afd54410889924a0cb544f1e3fd5babe9">faiss::IndexIVFScalarQuantizer</a>
, <a class="el" href="structfaiss_1_1IndexIVFFlat.html#a8fc1695a87f33db1a16f8c50c3344cd3">faiss::IndexIVFFlat</a>
</li> </li>
<li>merge_with() <li>merge_with()
: <a class="el" href="structfaiss_1_1OperatingPoints.html#a84baddccd8b803dee460739f8bcbc0c9">faiss::OperatingPoints</a> : <a class="el" href="structfaiss_1_1OperatingPoints.html#a84baddccd8b803dee460739f8bcbc0c9">faiss::OperatingPoints</a>
</li> </li>
<li>mergeWarpQ() <li>mergeWarpQ()
: <a class="el" href="structfaiss_1_1gpu_1_1WarpSelect.html#a408cbf9a09094078cb62018400f30076">faiss::gpu::WarpSelect&lt; K, V, Dir, Comp, NumWarpQ, NumThreadQ, ThreadsPerBlock &gt;</a> : <a class="el" href="structfaiss_1_1gpu_1_1BlockSelect.html#a08aa08d16ec29c7b7dccc65edd5115cd">faiss::gpu::BlockSelect&lt; K, V, Dir, Comp, NumWarpQ, NumThreadQ, ThreadsPerBlock &gt;</a>
, <a class="el" href="structfaiss_1_1gpu_1_1BlockSelect.html#a08aa08d16ec29c7b7dccc65edd5115cd">faiss::gpu::BlockSelect&lt; K, V, Dir, Comp, NumWarpQ, NumThreadQ, ThreadsPerBlock &gt;</a> , <a class="el" href="structfaiss_1_1gpu_1_1WarpSelect.html#a408cbf9a09094078cb62018400f30076">faiss::gpu::WarpSelect&lt; K, V, Dir, Comp, NumWarpQ, NumThreadQ, ThreadsPerBlock &gt;</a>
</li> </li>
<li>metric_type <li>metric_type
: <a class="el" href="structfaiss_1_1Index.html#a8e18f641854b2bde83ecff0a2f9a6f4e">faiss::Index</a> : <a class="el" href="structfaiss_1_1Index.html#a8e18f641854b2bde83ecff0a2f9a6f4e">faiss::Index</a>
......
...@@ -128,9 +128,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ...@@ -128,9 +128,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li>parameter_ranges <li>parameter_ranges
: <a class="el" href="structfaiss_1_1ParameterSpace.html#a334c1bb54bc2b70950a4a63950728cbb">faiss::ParameterSpace</a> : <a class="el" href="structfaiss_1_1ParameterSpace.html#a334c1bb54bc2b70950a4a63950728cbb">faiss::ParameterSpace</a>
</li> </li>
<li>part_norms
: <a class="el" href="structfaiss_1_1IndexIVFFlatIPBounds.html#a07b988f02cc2f6fc3eb951609bfc0817">faiss::IndexIVFFlatIPBounds</a>
</li>
<li>PCAMat <li>PCAMat
: <a class="el" href="structfaiss_1_1PCAMatrix.html#aef5c130774e5d4f697a3e1c82647bfd3">faiss::PCAMatrix</a> : <a class="el" href="structfaiss_1_1PCAMatrix.html#aef5c130774e5d4f697a3e1c82647bfd3">faiss::PCAMatrix</a>
</li> </li>
...@@ -144,8 +141,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ...@@ -144,8 +141,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: <a class="el" href="structfaiss_1_1IndexFlat1D.html#a3442f0d86a14108534f99eea0b7d4d3f">faiss::IndexFlat1D</a> : <a class="el" href="structfaiss_1_1IndexFlat1D.html#a3442f0d86a14108534f99eea0b7d4d3f">faiss::IndexFlat1D</a>
</li> </li>
<li>polysemous_ht <li>polysemous_ht
: <a class="el" href="structfaiss_1_1IndexPQ.html#aff455f2adff6064939494dad6e3017bc">faiss::IndexPQ</a> : <a class="el" href="structfaiss_1_1IndexIVFPQ.html#a3093a0a3e128eafce6e0583b75e9662e">faiss::IndexIVFPQ</a>
, <a class="el" href="structfaiss_1_1IndexIVFPQ.html#a3093a0a3e128eafce6e0583b75e9662e">faiss::IndexIVFPQ</a> , <a class="el" href="structfaiss_1_1IndexPQ.html#aff455f2adff6064939494dad6e3017bc">faiss::IndexPQ</a>
</li> </li>
<li>polysemous_training <li>polysemous_training
: <a class="el" href="structfaiss_1_1IndexIVFPQ.html#a2b14cbb5acb3fc28a4df8fde3f5567cd">faiss::IndexIVFPQ</a> : <a class="el" href="structfaiss_1_1IndexIVFPQ.html#a2b14cbb5acb3fc28a4df8fde3f5567cd">faiss::IndexIVFPQ</a>
......
...@@ -203,8 +203,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ...@@ -203,8 +203,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li>remove_ids() <li>remove_ids()
: <a class="el" href="structfaiss_1_1Index.html#af8bf7bd97aeed8ad5fc48b242379a68a">faiss::Index</a> : <a class="el" href="structfaiss_1_1Index.html#af8bf7bd97aeed8ad5fc48b242379a68a">faiss::Index</a>
, <a class="el" href="structfaiss_1_1IndexFlat.html#a8d1ea1d28e80849f8b0f5493679d68c9">faiss::IndexFlat</a> , <a class="el" href="structfaiss_1_1IndexFlat.html#a8d1ea1d28e80849f8b0f5493679d68c9">faiss::IndexFlat</a>
, <a class="el" href="structfaiss_1_1IndexIVFFlat.html#a46ee62aabc316ec38882a3f54e594559">faiss::IndexIVFFlat</a> , <a class="el" href="structfaiss_1_1IndexIVF.html#a545c275690fac76be8c1a4685b3c7b8e">faiss::IndexIVF</a>
, <a class="el" href="structfaiss_1_1IndexIVFPQ.html#ad9fa584ac2e12e9b9bb25a737efcc4d9">faiss::IndexIVFPQ</a>
, <a class="el" href="structfaiss_1_1IndexIVFPQR.html#acc5eeeeb8ac8d2581ef07947932d9f6c">faiss::IndexIVFPQR</a> , <a class="el" href="structfaiss_1_1IndexIVFPQR.html#acc5eeeeb8ac8d2581ef07947932d9f6c">faiss::IndexIVFPQR</a>
, <a class="el" href="structfaiss_1_1IndexIDMap.html#a699ca4891bf3a437b2a182c04d33d9b9">faiss::IndexIDMap</a> , <a class="el" href="structfaiss_1_1IndexIDMap.html#a699ca4891bf3a437b2a182c04d33d9b9">faiss::IndexIDMap</a>
, <a class="el" href="structfaiss_1_1IndexIDMap2.html#a87e313ebc8dd62fb734a61a6d95a98f0">faiss::IndexIDMap2</a> , <a class="el" href="structfaiss_1_1IndexIDMap2.html#a87e313ebc8dd62fb734a61a6d95a98f0">faiss::IndexIDMap2</a>
...@@ -220,50 +219,48 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ...@@ -220,50 +219,48 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: <a class="el" href="classfaiss_1_1gpu_1_1FlatIndex.html#a7a06b678b97e3732939f6a4fb5106ef6">faiss::gpu::FlatIndex</a> : <a class="el" href="classfaiss_1_1gpu_1_1FlatIndex.html#a7a06b678b97e3732939f6a4fb5106ef6">faiss::gpu::FlatIndex</a>
</li> </li>
<li>reserveMemory() <li>reserveMemory()
: <a class="el" href="classfaiss_1_1gpu_1_1IVFBase.html#a02e1e2d080ee31bf7835f89b9f2a13a9">faiss::gpu::IVFBase</a> : <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVFFlat.html#a329d7734f1285788d10c1fbf1f88d72f">faiss::gpu::GpuIndexIVFFlat</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVFFlat.html#a329d7734f1285788d10c1fbf1f88d72f">faiss::gpu::GpuIndexIVFFlat</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVFPQ.html#a4e7d62e21f7e23fa4e94c69131389eea">faiss::gpu::GpuIndexIVFPQ</a> , <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVFPQ.html#a4e7d62e21f7e23fa4e94c69131389eea">faiss::gpu::GpuIndexIVFPQ</a>
, <a class="el" href="classfaiss_1_1gpu_1_1IVFBase.html#a02e1e2d080ee31bf7835f89b9f2a13a9">faiss::gpu::IVFBase</a>
</li> </li>
<li>reserveVecs <li>reserveVecs
: <a class="el" href="structfaiss_1_1gpu_1_1GpuClonerOptions.html#ab60dd87e51af59373a48d73852573f04">faiss::gpu::GpuClonerOptions</a> : <a class="el" href="structfaiss_1_1gpu_1_1GpuClonerOptions.html#ab60dd87e51af59373a48d73852573f04">faiss::gpu::GpuClonerOptions</a>
</li> </li>
<li>reset() <li>reset()
: <a class="el" href="structfaiss_1_1IndexIVF.html#a47a3b7665e9d2be41c6d3b2e9144b73f">faiss::IndexIVF</a> : <a class="el" href="structfaiss_1_1IndexShards.html#aa7dc5d020de4a0552058cbf2844cb00f">faiss::IndexShards</a>
, <a class="el" href="structfaiss_1_1IndexSplitVectors.html#a8047981cb8d10c54107664c4955df402">faiss::IndexSplitVectors</a> , <a class="el" href="structfaiss_1_1IndexSplitVectors.html#a8047981cb8d10c54107664c4955df402">faiss::IndexSplitVectors</a>
, <a class="el" href="structfaiss_1_1IndexPreTransform.html#a8e48ac9fde5e76e378553b2a6ec2c86e">faiss::IndexPreTransform</a>
, <a class="el" href="structfaiss_1_1IndexFlat.html#ab63dc34ef5d33f98f94aa0ade7c7324f">faiss::IndexFlat</a>
, <a class="el" href="structfaiss_1_1IndexFlat1D.html#aa205c4ffa6cbd50f49ef9cb6cc050000">faiss::IndexFlat1D</a>
, <a class="el" href="structfaiss_1_1IndexIVFFlat.html#a9df8b023486f54c8f2c5452787807360">faiss::IndexIVFFlat</a>
, <a class="el" href="structfaiss_1_1IndexPQ.html#a25e17da885cf55d84b176b46f3ad25b1">faiss::IndexPQ</a> , <a class="el" href="structfaiss_1_1IndexPQ.html#a25e17da885cf55d84b176b46f3ad25b1">faiss::IndexPQ</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVFPQ.html#a3a43a70461e09ef87bdb7b48ec420dd2">faiss::gpu::GpuIndexIVFPQ</a>
, <a class="el" href="structfaiss_1_1IndexRefineFlat.html#ac3efe902315768afe83fa2b8ea5dc591">faiss::IndexRefineFlat</a> , <a class="el" href="structfaiss_1_1IndexRefineFlat.html#ac3efe902315768afe83fa2b8ea5dc591">faiss::IndexRefineFlat</a>
, <a class="el" href="structfaiss_1_1IndexIVF.html#a47a3b7665e9d2be41c6d3b2e9144b73f">faiss::IndexIVF</a>
, <a class="el" href="structfaiss_1_1IndexFlat1D.html#aa205c4ffa6cbd50f49ef9cb6cc050000">faiss::IndexFlat1D</a>
, <a class="el" href="structfaiss_1_1Index.html#a849361f5f0ab0aba8d419c86f2594191">faiss::Index</a>
, <a class="el" href="classfaiss_1_1gpu_1_1IVFBase.html#a7ea671876443c93436499ad581f16997">faiss::gpu::IVFBase</a> , <a class="el" href="classfaiss_1_1gpu_1_1IVFBase.html#a7ea671876443c93436499ad581f16997">faiss::gpu::IVFBase</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVFFlat.html#a88676a893e9b44041e7a52327d960b54">faiss::gpu::GpuIndexIVFFlat</a> , <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVFPQ.html#a3a43a70461e09ef87bdb7b48ec420dd2">faiss::gpu::GpuIndexIVFPQ</a>
, <a class="el" href="structfaiss_1_1IndexIVFPQCompact.html#a8f5eccfb4d5e4098ff6c00acb3bc40a1">faiss::IndexIVFPQCompact</a>
, <a class="el" href="structfaiss_1_1IndexFlat.html#ab63dc34ef5d33f98f94aa0ade7c7324f">faiss::IndexFlat</a>
, <a class="el" href="structfaiss_1_1IndexScalarQuantizer.html#af0d6b901a2a02fff34e5c7c1ea5b8d55">faiss::IndexScalarQuantizer</a>
, <a class="el" href="structfaiss_1_1IndexPreTransform.html#a8e48ac9fde5e76e378553b2a6ec2c86e">faiss::IndexPreTransform</a>
, <a class="el" href="structfaiss_1_1MultiIndexQuantizer.html#a4808ce22fcc95c7af902b97969f2a90d">faiss::MultiIndexQuantizer</a>
, <a class="el" href="structfaiss_1_1IndexLSH.html#aba7791311191bb168b79f8f59dd459ab">faiss::IndexLSH</a> , <a class="el" href="structfaiss_1_1IndexLSH.html#aba7791311191bb168b79f8f59dd459ab">faiss::IndexLSH</a>
, <a class="el" href="classfaiss_1_1gpu_1_1FlatIndex.html#ae06cb2ffd46659b6639b97297546096e">faiss::gpu::FlatIndex</a>
, <a class="el" href="structfaiss_1_1IndexIDMap.html#a70aca5b0f665c5a109d5dadf1e13b448">faiss::IndexIDMap</a> , <a class="el" href="structfaiss_1_1IndexIDMap.html#a70aca5b0f665c5a109d5dadf1e13b448">faiss::IndexIDMap</a>
, <a class="el" href="structfaiss_1_1MultiIndexQuantizer.html#a4808ce22fcc95c7af902b97969f2a90d">faiss::MultiIndexQuantizer</a> , <a class="el" href="structfaiss_1_1IndexIVFPQR.html#ae0e979a014a9defe2254e9543657b075">faiss::IndexIVFPQR</a>
, <a class="el" href="structfaiss_1_1IndexShards.html#aa7dc5d020de4a0552058cbf2844cb00f">faiss::IndexShards</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexFlat.html#a67161796f274a7171a67c36bdf1ef1db">faiss::gpu::GpuIndexFlat</a> , <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexFlat.html#a67161796f274a7171a67c36bdf1ef1db">faiss::gpu::GpuIndexFlat</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVFFlat.html#a88676a893e9b44041e7a52327d960b54">faiss::gpu::GpuIndexIVFFlat</a>
, <a class="el" href="classfaiss_1_1gpu_1_1IndexProxy.html#a7f1b8287a607c80f2bb92f4ac0300649">faiss::gpu::IndexProxy</a> , <a class="el" href="classfaiss_1_1gpu_1_1IndexProxy.html#a7f1b8287a607c80f2bb92f4ac0300649">faiss::gpu::IndexProxy</a>
, <a class="el" href="structfaiss_1_1IndexScalarQuantizer.html#af0d6b901a2a02fff34e5c7c1ea5b8d55">faiss::IndexScalarQuantizer</a>
, <a class="el" href="structfaiss_1_1IndexIVFPQCompact.html#a8f5eccfb4d5e4098ff6c00acb3bc40a1">faiss::IndexIVFPQCompact</a>
, <a class="el" href="structfaiss_1_1IndexIVFPQR.html#ae0e979a014a9defe2254e9543657b075">faiss::IndexIVFPQR</a>
, <a class="el" href="structfaiss_1_1Index.html#a849361f5f0ab0aba8d419c86f2594191">faiss::Index</a>
, <a class="el" href="structfaiss_1_1IndexIVFPQ.html#acd807799dc56dcef0f221847a2af86f7">faiss::IndexIVFPQ</a>
, <a class="el" href="classfaiss_1_1gpu_1_1FlatIndex.html#ae06cb2ffd46659b6639b97297546096e">faiss::gpu::FlatIndex</a>
</li> </li>
<li>resources_ <li>resources_
: <a class="el" href="classfaiss_1_1gpu_1_1IVFBase.html#a05e6400358ec1f529a67209d3f24cc63">faiss::gpu::IVFBase</a> : <a class="el" href="classfaiss_1_1gpu_1_1GpuIndex.html#a17b82a8a11783da6eb1b07c9aab98c36">faiss::gpu::GpuIndex</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndex.html#a17b82a8a11783da6eb1b07c9aab98c36">faiss::gpu::GpuIndex</a> , <a class="el" href="classfaiss_1_1gpu_1_1IVFBase.html#a05e6400358ec1f529a67209d3f24cc63">faiss::gpu::IVFBase</a>
</li> </li>
<li>returnAlloc() <li>returnAlloc()
: <a class="el" href="structfaiss_1_1gpu_1_1StackDeviceMemory_1_1Stack.html#a5c652c126c2bf37149995cdb9d46a382">faiss::gpu::StackDeviceMemory::Stack</a> : <a class="el" href="structfaiss_1_1gpu_1_1StackDeviceMemory_1_1Stack.html#a5c652c126c2bf37149995cdb9d46a382">faiss::gpu::StackDeviceMemory::Stack</a>
</li> </li>
<li>reverse_transform() <li>reverse_transform()
: <a class="el" href="structfaiss_1_1RemapDimensionsTransform.html#a2fc83e79e4d3c7853bfd6931cbbaf82a">faiss::RemapDimensionsTransform</a> : <a class="el" href="structfaiss_1_1PCAMatrix.html#abf427521a66cbfaaf0b7aae16bcb6e93">faiss::PCAMatrix</a>
, <a class="el" href="structfaiss_1_1RandomRotationMatrix.html#a3ad86e9ae3bdc2090c1f5fc62a335c16">faiss::RandomRotationMatrix</a> , <a class="el" href="structfaiss_1_1RandomRotationMatrix.html#a3ad86e9ae3bdc2090c1f5fc62a335c16">faiss::RandomRotationMatrix</a>
, <a class="el" href="structfaiss_1_1RemapDimensionsTransform.html#a2fc83e79e4d3c7853bfd6931cbbaf82a">faiss::RemapDimensionsTransform</a>
, <a class="el" href="structfaiss_1_1VectorTransform.html#a101ce54f1c60df19478801aa942470d9">faiss::VectorTransform</a> , <a class="el" href="structfaiss_1_1VectorTransform.html#a101ce54f1c60df19478801aa942470d9">faiss::VectorTransform</a>
, <a class="el" href="structfaiss_1_1PCAMatrix.html#abf427521a66cbfaaf0b7aae16bcb6e93">faiss::PCAMatrix</a>
, <a class="el" href="structfaiss_1_1OPQMatrix.html#a8e61a84ea6bcbdee1809028b6aaa3aae">faiss::OPQMatrix</a> , <a class="el" href="structfaiss_1_1OPQMatrix.html#a8e61a84ea6bcbdee1809028b6aaa3aae">faiss::OPQMatrix</a>
</li> </li>
<li>rotate_data <li>rotate_data
......
...@@ -134,42 +134,33 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ...@@ -134,42 +134,33 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li>search() <li>search()
: <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexFlat.html#ac0f0301829363f920e619f673a4d97f3">faiss::gpu::GpuIndexFlat</a> : <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexFlat.html#ac0f0301829363f920e619f673a4d97f3">faiss::gpu::GpuIndexFlat</a>
, <a class="el" href="structfaiss_1_1IndexFlatL2BaseShift.html#a16e9bf1aec9d18b3ebbe78fea6bfecc0">faiss::IndexFlatL2BaseShift</a> , <a class="el" href="structfaiss_1_1IndexFlatL2BaseShift.html#a16e9bf1aec9d18b3ebbe78fea6bfecc0">faiss::IndexFlatL2BaseShift</a>
, <a class="el" href="structfaiss_1_1IndexPQ.html#a491ba3ed34093513e6a850fbca0abdd2">faiss::IndexPQ</a>
, <a class="el" href="structfaiss_1_1MultiIndexQuantizer.html#a999ee03f4e65f453377e209d10e25681">faiss::MultiIndexQuantizer</a>
, <a class="el" href="structfaiss_1_1IndexRefineFlat.html#ad04444de1e2c26c463cc52f3c076dd41">faiss::IndexRefineFlat</a>
, <a class="el" href="structfaiss_1_1IndexScalarQuantizer.html#abf24732c29106bb808148c3d30599662">faiss::IndexScalarQuantizer</a> , <a class="el" href="structfaiss_1_1IndexScalarQuantizer.html#abf24732c29106bb808148c3d30599662">faiss::IndexScalarQuantizer</a>
, <a class="el" href="structfaiss_1_1IndexIVFScalarQuantizer.html#a0e1197a21c9291a2d570116f72fd2196">faiss::IndexIVFScalarQuantizer</a>
, <a class="el" href="classfaiss_1_1gpu_1_1IndexProxy.html#a25ed68079907eeeca9d441cdd4fc0740">faiss::gpu::IndexProxy</a>
, <a class="el" href="structfaiss_1_1IndexFlat1D.html#a65736f2900865cd156faba4fcd260d05">faiss::IndexFlat1D</a>
, <a class="el" href="structfaiss_1_1IndexIDMap.html#a2f36fa9150a465b48952afbba856e2a1">faiss::IndexIDMap</a> , <a class="el" href="structfaiss_1_1IndexIDMap.html#a2f36fa9150a465b48952afbba856e2a1">faiss::IndexIDMap</a>
, <a class="el" href="structfaiss_1_1IndexRefineFlat.html#ad04444de1e2c26c463cc52f3c076dd41">faiss::IndexRefineFlat</a>
, <a class="el" href="structfaiss_1_1IndexShards.html#a83391295650370e8987358a898bb2cca">faiss::IndexShards</a> , <a class="el" href="structfaiss_1_1IndexShards.html#a83391295650370e8987358a898bb2cca">faiss::IndexShards</a>
, <a class="el" href="structfaiss_1_1IndexIVFFlat.html#acd2bdb06fcbe9d1f5799cf78aa6cdf0d">faiss::IndexIVFFlat</a>
, <a class="el" href="structfaiss_1_1IndexSplitVectors.html#a4a010daf51e44d9717e94400cc23c159">faiss::IndexSplitVectors</a> , <a class="el" href="structfaiss_1_1IndexSplitVectors.html#a4a010daf51e44d9717e94400cc23c159">faiss::IndexSplitVectors</a>
, <a class="el" href="classfaiss_1_1gpu_1_1IndexProxy.html#a25ed68079907eeeca9d441cdd4fc0740">faiss::gpu::IndexProxy</a>
, <a class="el" href="structfaiss_1_1IndexFlat1D.html#a65736f2900865cd156faba4fcd260d05">faiss::IndexFlat1D</a>
, <a class="el" href="structfaiss_1_1ProductQuantizer.html#a1ae7892a15b9f6809a3ba1a123a7831b">faiss::ProductQuantizer</a> , <a class="el" href="structfaiss_1_1ProductQuantizer.html#a1ae7892a15b9f6809a3ba1a123a7831b">faiss::ProductQuantizer</a>
, <a class="el" href="structfaiss_1_1IndexPreTransform.html#a7c2c820895d87083742969c281ae4911">faiss::IndexPreTransform</a>
, <a class="el" href="structfaiss_1_1IndexIVF.html#ae2fd47b7d52603659e269aa8f6abb613">faiss::IndexIVF</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndex.html#a6f1cadb5e8970c9c1fdf15eddb9d874f">faiss::gpu::GpuIndex</a> , <a class="el" href="classfaiss_1_1gpu_1_1GpuIndex.html#a6f1cadb5e8970c9c1fdf15eddb9d874f">faiss::gpu::GpuIndex</a>
, <a class="el" href="structfaiss_1_1Index.html#aced51b1ebc33c47ab3ae15ea906559a7">faiss::Index</a> , <a class="el" href="structfaiss_1_1Index.html#aced51b1ebc33c47ab3ae15ea906559a7">faiss::Index</a>
, <a class="el" href="structfaiss_1_1IndexIVFFlatIPBounds.html#aac063e96413e0e90d87898df8a60088b">faiss::IndexIVFFlatIPBounds</a>
, <a class="el" href="structfaiss_1_1IndexPreTransform.html#a7c2c820895d87083742969c281ae4911">faiss::IndexPreTransform</a>
, <a class="el" href="structfaiss_1_1IndexIVFPQ.html#afa7c9a7ae0316d2a05acb60ab2b7a31a">faiss::IndexIVFPQ</a>
, <a class="el" href="structfaiss_1_1IndexFlat.html#a85510d70f4675197df9988651e4692c9">faiss::IndexFlat</a>
, <a class="el" href="structfaiss_1_1IndexIVFPQR.html#a3e982ee6f1a3a025148270701867d04f">faiss::IndexIVFPQR</a> , <a class="el" href="structfaiss_1_1IndexIVFPQR.html#a3e982ee6f1a3a025148270701867d04f">faiss::IndexIVFPQR</a>
, <a class="el" href="structfaiss_1_1IndexLSH.html#a66b6afb56afa1f58e2d93abfdfd223ee">faiss::IndexLSH</a> , <a class="el" href="structfaiss_1_1IndexLSH.html#a66b6afb56afa1f58e2d93abfdfd223ee">faiss::IndexLSH</a>
, <a class="el" href="structfaiss_1_1IndexFlat.html#a85510d70f4675197df9988651e4692c9">faiss::IndexFlat</a>
, <a class="el" href="structfaiss_1_1IndexPQ.html#a491ba3ed34093513e6a850fbca0abdd2">faiss::IndexPQ</a>
, <a class="el" href="structfaiss_1_1MultiIndexQuantizer.html#a999ee03f4e65f453377e209d10e25681">faiss::MultiIndexQuantizer</a>
</li> </li>
<li>search_ip() <li>search_ip()
: <a class="el" href="structfaiss_1_1ProductQuantizer.html#a66be226806ca2abcaaf1653cdc690aa6">faiss::ProductQuantizer</a> : <a class="el" href="structfaiss_1_1ProductQuantizer.html#a66be226806ca2abcaaf1653cdc690aa6">faiss::ProductQuantizer</a>
</li> </li>
<li>search_knn_inner_product()
: <a class="el" href="structfaiss_1_1IndexIVFFlat.html#a5ac4f051396a1535426baec8f401aa93">faiss::IndexIVFFlat</a>
</li>
<li>search_knn_L2sqr()
: <a class="el" href="structfaiss_1_1IndexIVFFlat.html#a9ca8cc3ca71ff91f1e5e2db3b8ead615">faiss::IndexIVFFlat</a>
</li>
<li>search_knn_with_key()
: <a class="el" href="structfaiss_1_1IndexIVFPQ.html#ad5ae3ae94b4776291f6abee5110c7c0c">faiss::IndexIVFPQ</a>
, <a class="el" href="structfaiss_1_1IndexIVFPQCompact.html#a583dd638a00cb9246ac7b54ee6d65f95">faiss::IndexIVFPQCompact</a>
</li>
<li>search_preassigned() <li>search_preassigned()
: <a class="el" href="structfaiss_1_1IndexIVFFlat.html#a7a280ade19868bc3e0b7db6181a0e792">faiss::IndexIVFFlat</a> : <a class="el" href="structfaiss_1_1IndexIVF.html#ae13fe9ff54a870ded3487c5c282ca566">faiss::IndexIVF</a>
, <a class="el" href="structfaiss_1_1IndexIVFFlat.html#a6abfaf0da529ece0e68909aab4c282fd">faiss::IndexIVFFlat</a>
, <a class="el" href="structfaiss_1_1IndexIVFPQ.html#a150a37cf3e8a7e37cb8dab1d5678bc02">faiss::IndexIVFPQ</a>
, <a class="el" href="structfaiss_1_1IndexIVFPQCompact.html#ada9e5292194ee1be42d122037fbf2502">faiss::IndexIVFPQCompact</a>
, <a class="el" href="structfaiss_1_1IndexIVFScalarQuantizer.html#a341e473a62adcb03e07e53f67c1a7358">faiss::IndexIVFScalarQuantizer</a>
</li> </li>
<li>Search_type_t <li>Search_type_t
: <a class="el" href="structfaiss_1_1IndexPQ.html#a4fa05430935a02b62b7c15c9840c42fe">faiss::IndexPQ</a> : <a class="el" href="structfaiss_1_1IndexPQ.html#a4fa05430935a02b62b7c15c9840c42fe">faiss::IndexPQ</a>
...@@ -178,10 +169,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ...@@ -178,10 +169,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexFlat.html#afedeff5442b6ed94f856cecb8d8e598d">faiss::gpu::GpuIndexFlat</a> : <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexFlat.html#afedeff5442b6ed94f856cecb8d8e598d">faiss::gpu::GpuIndexFlat</a>
</li> </li>
<li>searchImpl_() <li>searchImpl_()
: <a class="el" href="classfaiss_1_1gpu_1_1GpuIndex.html#a482408e73bfa420d46eed690f2936e04">faiss::gpu::GpuIndex</a> : <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVFFlat.html#a3285302b227052fee57b3df10c2a482b">faiss::gpu::GpuIndexIVFFlat</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexFlat.html#ac99bfd11ff5150f29cf054ea55fc8fe4">faiss::gpu::GpuIndexFlat</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVFFlat.html#a3285302b227052fee57b3df10c2a482b">faiss::gpu::GpuIndexIVFFlat</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVFPQ.html#a42f619bee6ecb268442c7807e75896fe">faiss::gpu::GpuIndexIVFPQ</a> , <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexIVFPQ.html#a42f619bee6ecb268442c7807e75896fe">faiss::gpu::GpuIndexIVFPQ</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndex.html#a482408e73bfa420d46eed690f2936e04">faiss::gpu::GpuIndex</a>
, <a class="el" href="classfaiss_1_1gpu_1_1GpuIndexFlat.html#ac99bfd11ff5150f29cf054ea55fc8fe4">faiss::gpu::GpuIndexFlat</a>
</li> </li>
<li>seed <li>seed
: <a class="el" href="structfaiss_1_1ClusteringParameters.html#a509c65e2ebe6ecabebd163ecb03c5579">faiss::ClusteringParameters</a> : <a class="el" href="structfaiss_1_1ClusteringParameters.html#a509c65e2ebe6ecabebd163ecb03c5579">faiss::ClusteringParameters</a>
...@@ -277,13 +268,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ...@@ -277,13 +268,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: <a class="el" href="structfaiss_1_1IndexPQ.html#a4fa05430935a02b62b7c15c9840c42fea4287cbc83d1d5f0d1a02f014e5fe692c">faiss::IndexPQ</a> : <a class="el" href="structfaiss_1_1IndexPQ.html#a4fa05430935a02b62b7c15c9840c42fea4287cbc83d1d5f0d1a02f014e5fe692c">faiss::IndexPQ</a>
</li> </li>
<li>Stack() <li>Stack()
: <a class="el" href="structfaiss_1_1gpu_1_1StackDeviceMemory_1_1Stack.html#a92a16b44da0ab2a89d3d032b762c0232">faiss::gpu::StackDeviceMemory::Stack</a> : <a class="el" href="structfaiss_1_1gpu_1_1StackDeviceMemory_1_1Stack.html#a783de9fc71cf57bf336c474f6155453d">faiss::gpu::StackDeviceMemory::Stack</a>
</li> </li>
<li>stack_ <li>stack_
: <a class="el" href="classfaiss_1_1gpu_1_1StackDeviceMemory.html#a323a632f397eaf3df3034595762c6a29">faiss::gpu::StackDeviceMemory</a> : <a class="el" href="classfaiss_1_1gpu_1_1StackDeviceMemory.html#a323a632f397eaf3df3034595762c6a29">faiss::gpu::StackDeviceMemory</a>
</li> </li>
<li>StackDeviceMemory() <li>StackDeviceMemory()
: <a class="el" href="classfaiss_1_1gpu_1_1StackDeviceMemory.html#afd7a84b8cd1f747d873cdd1ab07e8a4b">faiss::gpu::StackDeviceMemory</a> : <a class="el" href="classfaiss_1_1gpu_1_1StackDeviceMemory.html#a130f900c32ba91ae1f872c7ee506a93e">faiss::gpu::StackDeviceMemory</a>
</li> </li>
<li>start_ <li>start_
: <a class="el" href="structfaiss_1_1gpu_1_1StackDeviceMemory_1_1Stack.html#aed64654e7d498114fdd48a6f1cdb1aa2">faiss::gpu::StackDeviceMemory::Stack</a> : <a class="el" href="structfaiss_1_1gpu_1_1StackDeviceMemory_1_1Stack.html#aed64654e7d498114fdd48a6f1cdb1aa2">faiss::gpu::StackDeviceMemory::Stack</a>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -11,7 +11,6 @@ var searchData= ...@@ -11,7 +11,6 @@ var searchData=
['find_5fduplicates',['find_duplicates',['../structfaiss_1_1IndexIVFPQ.html#aee355b57acde203a3caed46a93e16a3c',1,'faiss::IndexIVFPQ']]], ['find_5fduplicates',['find_duplicates',['../structfaiss_1_1IndexIVFPQ.html#aee355b57acde203a3caed46a93e16a3c',1,'faiss::IndexIVFPQ']]],
['flatconfig',['flatConfig',['../structfaiss_1_1gpu_1_1GpuIndexIVFConfig.html#a6d357a9a67a2fed9c8e7b139712d30f6',1,'faiss::gpu::GpuIndexIVFConfig']]], ['flatconfig',['flatConfig',['../structfaiss_1_1gpu_1_1GpuIndexIVFConfig.html#a6d357a9a67a2fed9c8e7b139712d30f6',1,'faiss::gpu::GpuIndexIVFConfig']]],
['flatindex',['FlatIndex',['../classfaiss_1_1gpu_1_1FlatIndex.html',1,'faiss::gpu']]], ['flatindex',['FlatIndex',['../classfaiss_1_1gpu_1_1FlatIndex.html',1,'faiss::gpu']]],
['fsize',['fsize',['../structfaiss_1_1IndexIVFFlatIPBounds.html#a32e550879d0bf5eecf0a939eb25b3c0c',1,'faiss::IndexIVFFlatIPBounds']]],
['fvec_5fl2sqr',['fvec_L2sqr',['../namespacefaiss.html#a7466bd32de31640860393a701eaac5ad',1,'faiss']]], ['fvec_5fl2sqr',['fvec_L2sqr',['../namespacefaiss.html#a7466bd32de31640860393a701eaac5ad',1,'faiss']]],
['fvec_5fmadd',['fvec_madd',['../namespacefaiss.html#a40328c31abd0bbba5bd95d7de951e847',1,'faiss']]], ['fvec_5fmadd',['fvec_madd',['../namespacefaiss.html#a40328c31abd0bbba5bd95d7de951e847',1,'faiss']]],
['fvec_5fmadd_5fand_5fargmin',['fvec_madd_and_argmin',['../namespacefaiss.html#a9da63b8bb84460f5e8ccf8e17622cc7a',1,'faiss']]], ['fvec_5fmadd_5fand_5fargmin',['fvec_madd_and_argmin',['../namespacefaiss.html#a9da63b8bb84460f5e8ccf8e17622cc7a',1,'faiss']]],
......
This diff is collapsed.
...@@ -19,8 +19,7 @@ var searchData= ...@@ -19,8 +19,7 @@ var searchData=
['mean',['mean',['../structfaiss_1_1PCAMatrix.html#a721c338c1df5c99471db82e6d3dc8f93',1,'faiss::PCAMatrix']]], ['mean',['mean',['../structfaiss_1_1PCAMatrix.html#a721c338c1df5c99471db82e6d3dc8f93',1,'faiss::PCAMatrix']]],
['memoryspace',['memorySpace',['../structfaiss_1_1gpu_1_1GpuIndexConfig.html#adf7c9461009108a9a433a077ab322d2e',1,'faiss::gpu::GpuIndexConfig']]], ['memoryspace',['memorySpace',['../structfaiss_1_1gpu_1_1GpuIndexConfig.html#adf7c9461009108a9a433a077ab322d2e',1,'faiss::gpu::GpuIndexConfig']]],
['memoryspace_5f',['memorySpace_',['../classfaiss_1_1gpu_1_1GpuIndex.html#af304169eac7781b573f76d545f37b7d9',1,'faiss::gpu::GpuIndex']]], ['memoryspace_5f',['memorySpace_',['../classfaiss_1_1gpu_1_1GpuIndex.html#af304169eac7781b573f76d545f37b7d9',1,'faiss::gpu::GpuIndex']]],
['merge_5ffrom',['merge_from',['../structfaiss_1_1IndexIVF.html#a0f22cc237c30c935df5b6560aecf8f01',1,'faiss::IndexIVF']]], ['merge_5ffrom',['merge_from',['../structfaiss_1_1IndexIVF.html#a0f22cc237c30c935df5b6560aecf8f01',1,'faiss::IndexIVF::merge_from()'],['../structfaiss_1_1IndexIVFPQR.html#a31a1fec2a88b410ea96ce5be7d527be9',1,'faiss::IndexIVFPQR::merge_from()']]],
['merge_5ffrom_5fresiduals',['merge_from_residuals',['../structfaiss_1_1IndexIVF.html#aacaf0b2529a9d9def094ea3728a12824',1,'faiss::IndexIVF::merge_from_residuals()'],['../structfaiss_1_1IndexIVFFlat.html#a8fc1695a87f33db1a16f8c50c3344cd3',1,'faiss::IndexIVFFlat::merge_from_residuals()'],['../structfaiss_1_1IndexIVFPQ.html#a6b8964e2da609a9261a8a35ae347ecb2',1,'faiss::IndexIVFPQ::merge_from_residuals()'],['../structfaiss_1_1IndexIVFPQR.html#af6c7ee3bc917cc5d4ab04ff64269ee06',1,'faiss::IndexIVFPQR::merge_from_residuals()'],['../structfaiss_1_1IndexIVFScalarQuantizer.html#afd54410889924a0cb544f1e3fd5babe9',1,'faiss::IndexIVFScalarQuantizer::merge_from_residuals()']]],
['merge_5fresult_5ftable_5fwith',['merge_result_table_with',['../namespacefaiss.html#afb7b33f6892678ba79aaf5e71777837c',1,'faiss']]], ['merge_5fresult_5ftable_5fwith',['merge_result_table_with',['../namespacefaiss.html#afb7b33f6892678ba79aaf5e71777837c',1,'faiss']]],
['merge_5fwith',['merge_with',['../structfaiss_1_1OperatingPoints.html#a84baddccd8b803dee460739f8bcbc0c9',1,'faiss::OperatingPoints']]], ['merge_5fwith',['merge_with',['../structfaiss_1_1OperatingPoints.html#a84baddccd8b803dee460739f8bcbc0c9',1,'faiss::OperatingPoints']]],
['mergewarpq',['mergeWarpQ',['../structfaiss_1_1gpu_1_1BlockSelect.html#a08aa08d16ec29c7b7dccc65edd5115cd',1,'faiss::gpu::BlockSelect::mergeWarpQ()'],['../structfaiss_1_1gpu_1_1WarpSelect.html#a408cbf9a09094078cb62018400f30076',1,'faiss::gpu::WarpSelect::mergeWarpQ()']]], ['mergewarpq',['mergeWarpQ',['../structfaiss_1_1gpu_1_1BlockSelect.html#a08aa08d16ec29c7b7dccc65edd5115cd',1,'faiss::gpu::BlockSelect::mergeWarpQ()'],['../structfaiss_1_1gpu_1_1WarpSelect.html#a408cbf9a09094078cb62018400f30076',1,'faiss::gpu::WarpSelect::mergeWarpQ()']]],
...@@ -30,6 +29,6 @@ var searchData= ...@@ -30,6 +29,6 @@ var searchData=
['min_5fpoints_5fper_5fcentroid',['min_points_per_centroid',['../structfaiss_1_1ClusteringParameters.html#a5af907901147a9b1e748b13305839924',1,'faiss::ClusteringParameters']]], ['min_5fpoints_5fper_5fcentroid',['min_points_per_centroid',['../structfaiss_1_1ClusteringParameters.html#a5af907901147a9b1e748b13305839924',1,'faiss::ClusteringParameters']]],
['minpagedsize_5f',['minPagedSize_',['../classfaiss_1_1gpu_1_1GpuIndexFlat.html#aad665a7b5888b4aafd47ae0f8d0e6c40',1,'faiss::gpu::GpuIndexFlat']]], ['minpagedsize_5f',['minPagedSize_',['../classfaiss_1_1gpu_1_1GpuIndexFlat.html#aad665a7b5888b4aafd47ae0f8d0e6c40',1,'faiss::gpu::GpuIndexFlat']]],
['minsumk',['MinSumK',['../structfaiss_1_1MinSumK.html',1,'faiss']]], ['minsumk',['MinSumK',['../structfaiss_1_1MinSumK.html',1,'faiss']]],
['multiindexquantizer',['MultiIndexQuantizer',['../structfaiss_1_1MultiIndexQuantizer.html',1,'faiss']]], ['multiindexquantizer',['MultiIndexQuantizer',['../structfaiss_1_1MultiIndexQuantizer.html#a01a568055ebc1e841f7e4218722efa01',1,'faiss::MultiIndexQuantizer']]],
['multiindexquantizer',['MultiIndexQuantizer',['../structfaiss_1_1MultiIndexQuantizer.html#a01a568055ebc1e841f7e4218722efa01',1,'faiss::MultiIndexQuantizer']]] ['multiindexquantizer',['MultiIndexQuantizer',['../structfaiss_1_1MultiIndexQuantizer.html',1,'faiss']]]
]; ];
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
docs/html/structfaiss_1_1IndexIVF.png

2.46 KB | W: | H:

docs/html/structfaiss_1_1IndexIVF.png

2.13 KB | W: | H:

docs/html/structfaiss_1_1IndexIVF.png
docs/html/structfaiss_1_1IndexIVF.png
docs/html/structfaiss_1_1IndexIVF.png
docs/html/structfaiss_1_1IndexIVF.png
  • 2-up
  • Swipe
  • Onion skin
This diff is collapsed.
This diff is collapsed.
...@@ -118,7 +118,7 @@ size_t&#160;</td><td class="memItemRight" valign="bottom"><b>npartial</b></td></ ...@@ -118,7 +118,7 @@ size_t&#160;</td><td class="memItemRight" valign="bottom"><b>npartial</b></td></
</table> </table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"> <div class="textblock">
<p>Definition at line <a class="el" href="IndexIVF_8h_source.html#l00111">111</a> of file <a class="el" href="IndexIVF_8h_source.html">IndexIVF.h</a>.</p> <p>Definition at line <a class="el" href="IndexIVF_8h_source.html#l00153">153</a> of file <a class="el" href="IndexIVF_8h_source.html">IndexIVF.h</a>.</p>
</div><hr/>The documentation for this struct was generated from the following files:<ul> </div><hr/>The documentation for this struct was generated from the following files:<ul>
<li>/data/users/matthijs/github_faiss/faiss/<a class="el" href="IndexIVF_8h_source.html">IndexIVF.h</a></li> <li>/data/users/matthijs/github_faiss/faiss/<a class="el" href="IndexIVF_8h_source.html">IndexIVF.h</a></li>
<li>/data/users/matthijs/github_faiss/faiss/<a class="el" href="IndexIVF_8cpp_source.html">IndexIVF.cpp</a></li> <li>/data/users/matthijs/github_faiss/faiss/<a class="el" href="IndexIVF_8cpp_source.html">IndexIVF.cpp</a></li>
......
This diff is collapsed.
This diff is collapsed.
...@@ -143,9 +143,9 @@ size_t&#160;</td><td class="memItemRight" valign="bottom"><b>heap_cycles</b></td ...@@ -143,9 +143,9 @@ size_t&#160;</td><td class="memItemRight" valign="bottom"><b>heap_cycles</b></td
<tr class="separator:a1ea5898e035d34a1b9c3669aeef2caf8"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:a1ea5898e035d34a1b9c3669aeef2caf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table> </table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>statistics are robust to internal threading, but not if <a class="el" href="structfaiss_1_1IndexIVFPQ.html#afa7c9a7ae0316d2a05acb60ab2b7a31a">IndexIVFPQ::search</a> is called by multiple threads </p> <div class="textblock"><p>statistics are robust to internal threading, but not if <a class="el" href="structfaiss_1_1IndexIVFPQ.html#a150a37cf3e8a7e37cb8dab1d5678bc02">IndexIVFPQ::search_preassigned</a> is called by multiple threads </p>
<p>Definition at line <a class="el" href="IndexIVFPQ_8h_source.html#l00167">167</a> of file <a class="el" href="IndexIVFPQ_8h_source.html">IndexIVFPQ.h</a>.</p> <p>Definition at line <a class="el" href="IndexIVFPQ_8h_source.html#l00128">128</a> of file <a class="el" href="IndexIVFPQ_8h_source.html">IndexIVFPQ.h</a>.</p>
</div><hr/>The documentation for this struct was generated from the following files:<ul> </div><hr/>The documentation for this struct was generated from the following files:<ul>
<li>/data/users/matthijs/github_faiss/faiss/<a class="el" href="IndexIVFPQ_8h_source.html">IndexIVFPQ.h</a></li> <li>/data/users/matthijs/github_faiss/faiss/<a class="el" href="IndexIVFPQ_8h_source.html">IndexIVFPQ.h</a></li>
<li>/data/users/matthijs/github_faiss/faiss/<a class="el" href="IndexIVFPQ_8cpp_source.html">IndexIVFPQ.cpp</a></li> <li>/data/users/matthijs/github_faiss/faiss/<a class="el" href="IndexIVFPQ_8cpp_source.html">IndexIVFPQ.cpp</a></li>
......
...@@ -242,7 +242,7 @@ typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hr ...@@ -242,7 +242,7 @@ typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hr
<p>Implements <a class="el" href="structfaiss_1_1Index.html#a1b5e9ac70adbce0897dd6c8276ad96f2">faiss::Index</a>.</p> <p>Implements <a class="el" href="structfaiss_1_1Index.html#a1b5e9ac70adbce0897dd6c8276ad96f2">faiss::Index</a>.</p>
<p>Definition at line <a class="el" href="VectorTransform_8cpp_source.html#l00841">841</a> of file <a class="el" href="VectorTransform_8cpp_source.html">VectorTransform.cpp</a>.</p> <p>Definition at line <a class="el" href="VectorTransform_8cpp_source.html#l00842">842</a> of file <a class="el" href="VectorTransform_8cpp_source.html">VectorTransform.cpp</a>.</p>
</div> </div>
</div> </div>
...@@ -294,7 +294,7 @@ typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hr ...@@ -294,7 +294,7 @@ typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hr
<p>Reimplemented from <a class="el" href="structfaiss_1_1Index.html#aa6931dfe054b33b02c842ff75f7a0c7f">faiss::Index</a>.</p> <p>Reimplemented from <a class="el" href="structfaiss_1_1Index.html#aa6931dfe054b33b02c842ff75f7a0c7f">faiss::Index</a>.</p>
<p>Definition at line <a class="el" href="VectorTransform_8cpp_source.html#l00850">850</a> of file <a class="el" href="VectorTransform_8cpp_source.html">VectorTransform.cpp</a>.</p> <p>Definition at line <a class="el" href="VectorTransform_8cpp_source.html#l00851">851</a> of file <a class="el" href="VectorTransform_8cpp_source.html">VectorTransform.cpp</a>.</p>
</div> </div>
</div> </div>
...@@ -323,7 +323,7 @@ typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hr ...@@ -323,7 +323,7 @@ typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hr
</div><div class="memdoc"> </div><div class="memdoc">
<p>apply the transforms in the chain. The returned float * may be equal to x, otherwise it should be deallocated. </p> <p>apply the transforms in the chain. The returned float * may be equal to x, otherwise it should be deallocated. </p>
<p>Definition at line <a class="el" href="VectorTransform_8cpp_source.html#l00826">826</a> of file <a class="el" href="VectorTransform_8cpp_source.html">VectorTransform.cpp</a>.</p> <p>Definition at line <a class="el" href="VectorTransform_8cpp_source.html#l00827">827</a> of file <a class="el" href="VectorTransform_8cpp_source.html">VectorTransform.cpp</a>.</p>
</div> </div>
</div> </div>
...@@ -375,7 +375,7 @@ typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hr ...@@ -375,7 +375,7 @@ typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hr
<p>Reimplemented from <a class="el" href="structfaiss_1_1Index.html#a1936604fffe16b0ef2a3879305950738">faiss::Index</a>.</p> <p>Reimplemented from <a class="el" href="structfaiss_1_1Index.html#a1936604fffe16b0ef2a3879305950738">faiss::Index</a>.</p>
<p>Definition at line <a class="el" href="VectorTransform_8cpp_source.html#l00885">885</a> of file <a class="el" href="VectorTransform_8cpp_source.html">VectorTransform.cpp</a>.</p> <p>Definition at line <a class="el" href="VectorTransform_8cpp_source.html#l00886">886</a> of file <a class="el" href="VectorTransform_8cpp_source.html">VectorTransform.cpp</a>.</p>
</div> </div>
</div> </div>
...@@ -404,7 +404,7 @@ typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hr ...@@ -404,7 +404,7 @@ typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hr
<p>Reimplemented from <a class="el" href="structfaiss_1_1Index.html#af8bf7bd97aeed8ad5fc48b242379a68a">faiss::Index</a>.</p> <p>Reimplemented from <a class="el" href="structfaiss_1_1Index.html#af8bf7bd97aeed8ad5fc48b242379a68a">faiss::Index</a>.</p>
<p>Definition at line <a class="el" href="VectorTransform_8cpp_source.html#l00878">878</a> of file <a class="el" href="VectorTransform_8cpp_source.html">VectorTransform.cpp</a>.</p> <p>Definition at line <a class="el" href="VectorTransform_8cpp_source.html#l00879">879</a> of file <a class="el" href="VectorTransform_8cpp_source.html">VectorTransform.cpp</a>.</p>
</div> </div>
</div> </div>
...@@ -470,7 +470,7 @@ typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hr ...@@ -470,7 +470,7 @@ typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hr
<p>Implements <a class="el" href="structfaiss_1_1Index.html#aced51b1ebc33c47ab3ae15ea906559a7">faiss::Index</a>.</p> <p>Implements <a class="el" href="structfaiss_1_1Index.html#aced51b1ebc33c47ab3ae15ea906559a7">faiss::Index</a>.</p>
<p>Definition at line <a class="el" href="VectorTransform_8cpp_source.html#l00863">863</a> of file <a class="el" href="VectorTransform_8cpp_source.html">VectorTransform.cpp</a>.</p> <p>Definition at line <a class="el" href="VectorTransform_8cpp_source.html#l00864">864</a> of file <a class="el" href="VectorTransform_8cpp_source.html">VectorTransform.cpp</a>.</p>
</div> </div>
</div> </div>
...@@ -516,7 +516,7 @@ typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hr ...@@ -516,7 +516,7 @@ typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hr
<p>Reimplemented from <a class="el" href="structfaiss_1_1Index.html#a1ffe916c958605c38b0b1bfad42485e4">faiss::Index</a>.</p> <p>Reimplemented from <a class="el" href="structfaiss_1_1Index.html#a1ffe916c958605c38b0b1bfad42485e4">faiss::Index</a>.</p>
<p>Definition at line <a class="el" href="VectorTransform_8cpp_source.html#l00790">790</a> of file <a class="el" href="VectorTransform_8cpp_source.html">VectorTransform.cpp</a>.</p> <p>Definition at line <a class="el" href="VectorTransform_8cpp_source.html#l00791">791</a> of file <a class="el" href="VectorTransform_8cpp_source.html">VectorTransform.cpp</a>.</p>
</div> </div>
</div> </div>
......
...@@ -240,7 +240,7 @@ typedef <a class="el" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eeb ...@@ -240,7 +240,7 @@ typedef <a class="el" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eeb
<p>Reimplemented from <a class="el" href="structfaiss_1_1VectorTransform.html#a101ce54f1c60df19478801aa942470d9">faiss::VectorTransform</a>.</p> <p>Reimplemented from <a class="el" href="structfaiss_1_1VectorTransform.html#a101ce54f1c60df19478801aa942470d9">faiss::VectorTransform</a>.</p>
<p>Definition at line <a class="el" href="VectorTransform_8cpp_source.html#l00708">708</a> of file <a class="el" href="VectorTransform_8cpp_source.html">VectorTransform.cpp</a>.</p> <p>Definition at line <a class="el" href="VectorTransform_8cpp_source.html#l00709">709</a> of file <a class="el" href="VectorTransform_8cpp_source.html">VectorTransform.cpp</a>.</p>
</div> </div>
</div> </div>
...@@ -286,7 +286,7 @@ typedef <a class="el" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eeb ...@@ -286,7 +286,7 @@ typedef <a class="el" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eeb
<p>Reimplemented from <a class="el" href="structfaiss_1_1VectorTransform.html#a7350d4dd28d60866d55ba4f75d2da84c">faiss::VectorTransform</a>.</p> <p>Reimplemented from <a class="el" href="structfaiss_1_1VectorTransform.html#a7350d4dd28d60866d55ba4f75d2da84c">faiss::VectorTransform</a>.</p>
<p>Definition at line <a class="el" href="VectorTransform_8cpp_source.html#l00547">547</a> of file <a class="el" href="VectorTransform_8cpp_source.html">VectorTransform.cpp</a>.</p> <p>Definition at line <a class="el" href="VectorTransform_8cpp_source.html#l00548">548</a> of file <a class="el" href="VectorTransform_8cpp_source.html">VectorTransform.cpp</a>.</p>
</div> </div>
</div> </div>
......
...@@ -249,7 +249,7 @@ typedef <a class="el" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eeb ...@@ -249,7 +249,7 @@ typedef <a class="el" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eeb
<p>Reimplemented from <a class="el" href="structfaiss_1_1VectorTransform.html#a101ce54f1c60df19478801aa942470d9">faiss::VectorTransform</a>.</p> <p>Reimplemented from <a class="el" href="structfaiss_1_1VectorTransform.html#a101ce54f1c60df19478801aa942470d9">faiss::VectorTransform</a>.</p>
<p>Definition at line <a class="el" href="VectorTransform_8cpp_source.html#l00521">521</a> of file <a class="el" href="VectorTransform_8cpp_source.html">VectorTransform.cpp</a>.</p> <p>Definition at line <a class="el" href="VectorTransform_8cpp_source.html#l00522">522</a> of file <a class="el" href="VectorTransform_8cpp_source.html">VectorTransform.cpp</a>.</p>
</div> </div>
</div> </div>
......
...@@ -189,7 +189,7 @@ typedef <a class="el" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eeb ...@@ -189,7 +189,7 @@ typedef <a class="el" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eeb
</div><div class="memdoc"> </div><div class="memdoc">
<p>remap input to output, skipping or inserting dimensions as needed if uniform: distribute dimensions uniformly otherwise just take the d_out first ones. </p> <p>remap input to output, skipping or inserting dimensions as needed if uniform: distribute dimensions uniformly otherwise just take the d_out first ones. </p>
<p>Definition at line <a class="el" href="VectorTransform_8cpp_source.html#l00920">920</a> of file <a class="el" href="VectorTransform_8cpp_source.html">VectorTransform.cpp</a>.</p> <p>Definition at line <a class="el" href="VectorTransform_8cpp_source.html#l00921">921</a> of file <a class="el" href="VectorTransform_8cpp_source.html">VectorTransform.cpp</a>.</p>
</div> </div>
</div> </div>
......
This diff is collapsed.
...@@ -213,7 +213,6 @@ struct ToGpuClonerMultiple: faiss::Cloner, GpuMultipleClonerOptions { ...@@ -213,7 +213,6 @@ struct ToGpuClonerMultiple: faiss::Cloner, GpuMultipleClonerOptions {
Index *clone_Index(const Index *index) override { Index *clone_Index(const Index *index) override {
long n = sub_cloners.size(); long n = sub_cloners.size();
if (n == 1) if (n == 1)
return sub_cloners[0].clone_Index(index); return sub_cloners[0].clone_Index(index);
...@@ -259,14 +258,15 @@ struct ToGpuClonerMultiple: faiss::Cloner, GpuMultipleClonerOptions { ...@@ -259,14 +258,15 @@ struct ToGpuClonerMultiple: faiss::Cloner, GpuMultipleClonerOptions {
idx2.nprobe = index_ivfpq->nprobe; idx2.nprobe = index_ivfpq->nprobe;
idx2.use_precomputed_table = 0; idx2.use_precomputed_table = 0;
idx2.is_trained = index->is_trained; idx2.is_trained = index->is_trained;
index_ivfpq->copy_subset_to(idx2, 0, i0, i1); index_ivfpq->copy_subset_to(idx2, 2, i0, i1);
FAISS_ASSERT(idx2.ntotal == i1 - i0);
shards[i] = sub_cloners[i].clone_Index(&idx2); shards[i] = sub_cloners[i].clone_Index(&idx2);
} else if (index_ivfflat) { } else if (index_ivfflat) {
faiss::IndexIVFFlat idx2( faiss::IndexIVFFlat idx2(
index_ivfflat->quantizer, index->d, index_ivfflat->quantizer, index->d,
index_ivfflat->nlist, index_ivfflat->metric_type); index_ivfflat->nlist, index_ivfflat->metric_type);
idx2.nprobe = index_ivfflat->nprobe; idx2.nprobe = index_ivfflat->nprobe;
index_ivfflat->copy_subset_to(idx2, 0, i0, i1); index_ivfflat->copy_subset_to(idx2, 2, i0, i1);
idx2.nprobe = index_ivfflat->nprobe; idx2.nprobe = index_ivfflat->nprobe;
shards[i] = sub_cloners[i].clone_Index(&idx2); shards[i] = sub_cloners[i].clone_Index(&idx2);
} }
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment