mirror of
https://github.com/facebookresearch/faiss.git
synced 2025-06-03 21:54:02 +08:00
various bugfixes from github issues kmean with some frozen centroids GPU better tiling for large flat datasets default AVX for vector ops
295 lines
48 KiB
HTML
295 lines
48 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.8.5"/>
|
|
<title>Faiss: /data/users/matthijs/github_faiss/faiss/MetaIndexes.h Source File</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<script type="text/javascript">
|
|
$(document).ready(function() { searchBox.OnSelectItem(0); });
|
|
</script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td style="padding-left: 0.5em;">
|
|
<div id="projectname">Faiss
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.5 -->
|
|
<script type="text/javascript">
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
</script>
|
|
<div id="navrow1" class="tabs">
|
|
<ul class="tablist">
|
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
|
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
|
<li><a href="annotated.html"><span>Classes</span></a></li>
|
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
|
<li>
|
|
<div id="MSearchBox" class="MSearchBoxInactive">
|
|
<span class="left">
|
|
<img id="MSearchSelect" src="search/mag_sel.png"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
alt=""/>
|
|
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
|
onfocus="searchBox.OnSearchFieldFocus(true)"
|
|
onblur="searchBox.OnSearchFieldFocus(false)"
|
|
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
|
</span><span class="right">
|
|
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
|
</span>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="navrow2" class="tabs2">
|
|
<ul class="tablist">
|
|
<li><a href="files.html"><span>File List</span></a></li>
|
|
</ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Friends</a></div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<div class="header">
|
|
<div class="headertitle">
|
|
<div class="title">/data/users/matthijs/github_faiss/faiss/MetaIndexes.h</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/**</span></div>
|
|
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * Copyright (c) 2015-present, Facebook, Inc.</span></div>
|
|
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * All rights reserved.</span></div>
|
|
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
|
|
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This source code is licensed under the BSD+Patents license found in the</span></div>
|
|
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * LICENSE file in the root directory of this source tree.</span></div>
|
|
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> */</span></div>
|
|
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> </div>
|
|
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// Copyright 2004-present Facebook. All Rights Reserved.</span></div>
|
|
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// -*- c++ -*-</span></div>
|
|
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> </div>
|
|
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#ifndef META_INDEXES_H</span></div>
|
|
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor"></span><span class="preprocessor">#define META_INDEXES_H</span></div>
|
|
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor"></span></div>
|
|
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div>
|
|
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include <vector></span></div>
|
|
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include <unordered_map></span></div>
|
|
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div>
|
|
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
|
|
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "Index.h"</span></div>
|
|
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
|
|
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div>
|
|
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="keyword">namespace </span>faiss {</div>
|
|
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"></span></div>
|
|
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">/** Index that translates search results to ids */</span></div>
|
|
<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="structfaiss_1_1IndexIDMap.html"> 26</a></span> <span class="keyword">struct </span><a class="code" href="structfaiss_1_1IndexIDMap.html">IndexIDMap</a> : <a class="code" href="structfaiss_1_1Index.html">Index</a> {</div>
|
|
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <a class="code" href="structfaiss_1_1Index.html">Index</a> * index; <span class="comment">///! the sub-index</span></div>
|
|
<div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="structfaiss_1_1IndexIDMap.html#affa8a764304410c96489c2b2e178bcdb"> 28</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="structfaiss_1_1IndexIDMap.html#affa8a764304410c96489c2b2e178bcdb">own_fields</a>; <span class="comment">///! whether pointers are deleted in destructo</span></div>
|
|
<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="structfaiss_1_1IndexIDMap.html#ad1cc5658f1879f6a2b00d76cca58cf3b"> 29</a></span> <span class="comment"></span> std::vector<long> <a class="code" href="structfaiss_1_1IndexIDMap.html#ad1cc5658f1879f6a2b00d76cca58cf3b">id_map</a>;</div>
|
|
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
|
|
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  <span class="keyword">explicit</span> <a class="code" href="structfaiss_1_1IndexIDMap.html">IndexIDMap</a> (<a class="code" href="structfaiss_1_1Index.html">Index</a> *index);</div>
|
|
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"></span></div>
|
|
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> /// Same as add_core, but stores xids instead of sequential ids</span></div>
|
|
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> /// @param xids if non-null, ids to store for the vectors (size n)</span></div>
|
|
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="structfaiss_1_1IndexIDMap.html#aeace75e53648c052d05c357b744e090b">add_with_ids</a>(<a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> n, <span class="keyword">const</span> <span class="keywordtype">float</span>* x, <span class="keyword">const</span> <span class="keywordtype">long</span>* xids) <span class="keyword">override</span>;</div>
|
|
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"></span></div>
|
|
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> /// this will fail. Use add_with_ids</span></div>
|
|
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="structfaiss_1_1IndexIDMap.html#a16cce6c1e83d0d5f069c9b0399896450">add</a>(<a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> n, <span class="keyword">const</span> <span class="keywordtype">float</span>* x) <span class="keyword">override</span>;</div>
|
|
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
|
|
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="keywordtype">void</span> <a class="code" href="structfaiss_1_1IndexIDMap.html#a2f36fa9150a465b48952afbba856e2a1">search</a>(</div>
|
|
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> n,</div>
|
|
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keyword">const</span> <span class="keywordtype">float</span>* x,</div>
|
|
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> k,</div>
|
|
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordtype">float</span>* distances,</div>
|
|
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a>* labels) <span class="keyword">const override</span>;</div>
|
|
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
|
|
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordtype">void</span> <a class="code" href="structfaiss_1_1IndexIDMap.html#ac873cb03aa323a06dca5d6f3af5fe559">train</a>(<a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> n, <span class="keyword">const</span> <span class="keywordtype">float</span>* x) <span class="keyword">override</span>;</div>
|
|
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
|
|
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordtype">void</span> <a class="code" href="structfaiss_1_1IndexIDMap.html#a70aca5b0f665c5a109d5dadf1e13b448">reset</a>() <span class="keyword">override</span>;</div>
|
|
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"></span></div>
|
|
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> /// remove ids adapted to IndexFlat</span></div>
|
|
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"></span> <span class="keywordtype">long</span> <a class="code" href="structfaiss_1_1IndexIDMap.html#a699ca4891bf3a437b2a182c04d33d9b9">remove_ids</a>(<span class="keyword">const</span> <a class="code" href="structfaiss_1_1IDSelector.html">IDSelector</a>& sel) <span class="keyword">override</span>;</div>
|
|
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
|
|
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordtype">void</span> <a class="code" href="structfaiss_1_1IndexIDMap.html#a7dbeaf9d44d6783d371f12405e8b7f40">range_search</a> (<a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> n, <span class="keyword">const</span> <span class="keywordtype">float</span> *x, <span class="keywordtype">float</span> radius,</div>
|
|
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="code" href="structfaiss_1_1RangeSearchResult.html">RangeSearchResult</a> *result) <span class="keyword">const override</span>;</div>
|
|
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
|
|
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  ~<a class="code" href="structfaiss_1_1IndexIDMap.html">IndexIDMap</a>() <span class="keyword">override</span>;</div>
|
|
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <a class="code" href="structfaiss_1_1IndexIDMap.html">IndexIDMap</a> () {<a class="code" href="structfaiss_1_1IndexIDMap.html#affa8a764304410c96489c2b2e178bcdb">own_fields</a>=<span class="keyword">false</span>; index=<span class="keyword">nullptr</span>; }</div>
|
|
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> };</div>
|
|
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"></span></div>
|
|
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/** same as IndexIDMap but also provides an efficient reconstruction</span></div>
|
|
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> implementation via a 2-way index */</span></div>
|
|
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="structfaiss_1_1IndexIDMap2.html"> 63</a></span> <span class="keyword">struct </span><a class="code" href="structfaiss_1_1IndexIDMap2.html">IndexIDMap2</a> : <a class="code" href="structfaiss_1_1IndexIDMap.html">IndexIDMap</a> {</div>
|
|
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
|
|
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  std::unordered_map<idx_t, idx_t> rev_map;</div>
|
|
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
|
|
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keyword">explicit</span> <a class="code" href="structfaiss_1_1IndexIDMap2.html">IndexIDMap2</a> (<a class="code" href="structfaiss_1_1Index.html">Index</a> *index);</div>
|
|
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"></span></div>
|
|
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> /// make the rev_map from scratch</span></div>
|
|
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="structfaiss_1_1IndexIDMap2.html#a646302669189e370d9d864fc18f096fe">construct_rev_map</a> ();</div>
|
|
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
|
|
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordtype">void</span> <a class="code" href="structfaiss_1_1IndexIDMap2.html#a33ff76975891695c2fa45ed26fc8eae9">add_with_ids</a>(<a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> n, <span class="keyword">const</span> <span class="keywordtype">float</span>* x, <span class="keyword">const</span> <span class="keywordtype">long</span>* xids) <span class="keyword">override</span>;</div>
|
|
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
|
|
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordtype">long</span> <a class="code" href="structfaiss_1_1IndexIDMap2.html#a87e313ebc8dd62fb734a61a6d95a98f0">remove_ids</a>(<span class="keyword">const</span> <a class="code" href="structfaiss_1_1IDSelector.html">IDSelector</a>& sel) <span class="keyword">override</span>;</div>
|
|
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
|
|
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordtype">void</span> <a class="code" href="structfaiss_1_1IndexIDMap2.html#a3660adb35a3299bc328988f5ff2199fe">reconstruct</a> (<a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> key, <span class="keywordtype">float</span> * recons) <span class="keyword">const override</span>;</div>
|
|
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
|
|
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  ~<a class="code" href="structfaiss_1_1IndexIDMap2.html">IndexIDMap2</a>()<span class="keyword"> override </span>{}</div>
|
|
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <a class="code" href="structfaiss_1_1IndexIDMap2.html">IndexIDMap2</a> () {}</div>
|
|
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> };</div>
|
|
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
|
|
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"></span></div>
|
|
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">/** Index that concatenates the results from several sub-indexes</span></div>
|
|
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> *</span></div>
|
|
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> */</span></div>
|
|
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="structfaiss_1_1IndexShards.html"> 86</a></span> <span class="keyword">struct </span><a class="code" href="structfaiss_1_1IndexShards.html">IndexShards</a> : <a class="code" href="structfaiss_1_1Index.html">Index</a> {</div>
|
|
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
|
|
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  std::vector<Index*> shard_indexes;</div>
|
|
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordtype">bool</span> own_fields; <span class="comment">/// should the sub-indexes be deleted along with this?</span></div>
|
|
<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="structfaiss_1_1IndexShards.html#a493da171720f2c3f35058f793fb9a6ce"> 90</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="structfaiss_1_1IndexShards.html#a493da171720f2c3f35058f793fb9a6ce">threaded</a>;</div>
|
|
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordtype">bool</span> successive_ids;</div>
|
|
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"></span></div>
|
|
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> /**</span></div>
|
|
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> * @param threaded do we use one thread per sub_index or do</span></div>
|
|
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> * queries sequentially?</span></div>
|
|
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"> * @param successive_ids should we shift the returned ids by</span></div>
|
|
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"> * the size of each sub-index or return them</span></div>
|
|
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"> * as they are?</span></div>
|
|
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"> */</span></div>
|
|
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keyword">explicit</span> <a class="code" href="structfaiss_1_1IndexShards.html#ad987a18a1786919e32cc02ca36e5ab46">IndexShards</a> (<a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> <a class="code" href="structfaiss_1_1Index.html#a2a002388d2c081c2dbab8508dcefe73d">d</a>, <span class="keywordtype">bool</span> <a class="code" href="structfaiss_1_1IndexShards.html#a493da171720f2c3f35058f793fb9a6ce">threaded</a> = <span class="keyword">false</span>,</div>
|
|
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordtype">bool</span> successive_ids = <span class="keyword">true</span>);</div>
|
|
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
|
|
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordtype">void</span> add_shard (<a class="code" href="structfaiss_1_1Index.html">Index</a> *);</div>
|
|
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
|
|
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="comment">// update metric_type and ntotal. Call if you changes something in</span></div>
|
|
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="comment">// the shard indexes.</span></div>
|
|
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordtype">void</span> sync_with_shard_indexes ();</div>
|
|
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
|
|
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <a class="code" href="structfaiss_1_1Index.html">Index</a> *at(<span class="keywordtype">int</span> i) {<span class="keywordflow">return</span> shard_indexes[i]; }</div>
|
|
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"></span></div>
|
|
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"> /// supported only for sub-indices that implement add_with_ids</span></div>
|
|
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="structfaiss_1_1IndexShards.html#a2e06889521c566525011eb46cc97cda6">add</a>(<a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> n, <span class="keyword">const</span> <span class="keywordtype">float</span>* x) <span class="keyword">override</span>;</div>
|
|
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
|
|
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordtype">void</span> <a class="code" href="structfaiss_1_1IndexShards.html#a1f771d50133494f682f05c9ab9e39ad9">add_with_ids</a>(<a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> n, <span class="keyword">const</span> <span class="keywordtype">float</span>* x, <span class="keyword">const</span> <span class="keywordtype">long</span>* xids) <span class="keyword">override</span>;</div>
|
|
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
|
|
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordtype">void</span> <a class="code" href="structfaiss_1_1IndexShards.html#a83391295650370e8987358a898bb2cca">search</a>(</div>
|
|
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> n,</div>
|
|
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keyword">const</span> <span class="keywordtype">float</span>* x,</div>
|
|
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> k,</div>
|
|
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordtype">float</span>* distances,</div>
|
|
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a>* labels) <span class="keyword">const override</span>;</div>
|
|
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
|
|
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordtype">void</span> <a class="code" href="structfaiss_1_1IndexShards.html#a36fbcc85eed9bf2ea15587f04be9ae0b">train</a>(<a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> n, <span class="keyword">const</span> <span class="keywordtype">float</span>* x) <span class="keyword">override</span>;</div>
|
|
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
|
|
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordtype">void</span> <a class="code" href="structfaiss_1_1IndexShards.html#aa7dc5d020de4a0552058cbf2844cb00f">reset</a>() <span class="keyword">override</span>;</div>
|
|
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
|
|
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  ~<a class="code" href="structfaiss_1_1IndexShards.html">IndexShards</a>() <span class="keyword">override</span>;</div>
|
|
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> };</div>
|
|
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment"></span></div>
|
|
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">/** splits input vectors in segments and assigns each segment to a sub-index</span></div>
|
|
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment"> * used to distribute a MultiIndexQuantizer</span></div>
|
|
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment"> */</span></div>
|
|
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
|
|
<div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="structfaiss_1_1IndexSplitVectors.html"> 134</a></span> <span class="keyword">struct </span><a class="code" href="structfaiss_1_1IndexSplitVectors.html">IndexSplitVectors</a>: <a class="code" href="structfaiss_1_1Index.html">Index</a> {</div>
|
|
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordtype">bool</span> own_fields;</div>
|
|
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordtype">bool</span> threaded;</div>
|
|
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  std::vector<Index*> sub_indexes;</div>
|
|
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> sum_d; <span class="comment">/// sum of dimensions seen so far</span></div>
|
|
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment"></span></div>
|
|
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keyword">explicit</span> <a class="code" href="structfaiss_1_1IndexSplitVectors.html#a70ba3367a08722fe4466dc49c21a4d2b">IndexSplitVectors</a> (<a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> <a class="code" href="structfaiss_1_1Index.html#a2a002388d2c081c2dbab8508dcefe73d">d</a>, <span class="keywordtype">bool</span> threaded = <span class="keyword">false</span>);</div>
|
|
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
|
|
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordtype">void</span> add_sub_index (<a class="code" href="structfaiss_1_1Index.html">Index</a> *);</div>
|
|
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordtype">void</span> sync_with_sub_indexes ();</div>
|
|
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
|
|
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordtype">void</span> <a class="code" href="structfaiss_1_1IndexSplitVectors.html#af2ef88dc72b4a94f1190ecc8cb25881b">add</a>(<a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> n, <span class="keyword">const</span> <span class="keywordtype">float</span>* x) <span class="keyword">override</span>;</div>
|
|
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
|
|
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordtype">void</span> <a class="code" href="structfaiss_1_1IndexSplitVectors.html#a4a010daf51e44d9717e94400cc23c159">search</a>(</div>
|
|
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> n,</div>
|
|
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keyword">const</span> <span class="keywordtype">float</span>* x,</div>
|
|
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> k,</div>
|
|
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordtype">float</span>* distances,</div>
|
|
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a>* labels) <span class="keyword">const override</span>;</div>
|
|
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
|
|
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordtype">void</span> <a class="code" href="structfaiss_1_1IndexSplitVectors.html#aafa4c780e325855fe247052453967845">train</a>(<a class="code" href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">idx_t</a> n, <span class="keyword">const</span> <span class="keywordtype">float</span>* x) <span class="keyword">override</span>;</div>
|
|
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
|
|
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordtype">void</span> <a class="code" href="structfaiss_1_1IndexSplitVectors.html#a8047981cb8d10c54107664c4955df402">reset</a>() <span class="keyword">override</span>;</div>
|
|
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
|
|
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  ~<a class="code" href="structfaiss_1_1IndexSplitVectors.html">IndexSplitVectors</a>() <span class="keyword">override</span>;</div>
|
|
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> };</div>
|
|
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
|
|
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
|
|
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
|
|
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> }</div>
|
|
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
|
|
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
|
|
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="preprocessor">#endif</span></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexShards_html_a36fbcc85eed9bf2ea15587f04be9ae0b"><div class="ttname"><a href="structfaiss_1_1IndexShards.html#a36fbcc85eed9bf2ea15587f04be9ae0b">faiss::IndexShards::train</a></div><div class="ttdeci">void train(idx_t n, const float *x) override</div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8cpp_source.html#l00397">MetaIndexes.cpp:397</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexIDMap2_html"><div class="ttname"><a href="structfaiss_1_1IndexIDMap2.html">faiss::IndexIDMap2</a></div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8h_source.html#l00063">MetaIndexes.h:63</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexShards_html_ad987a18a1786919e32cc02ca36e5ab46"><div class="ttname"><a href="structfaiss_1_1IndexShards.html#ad987a18a1786919e32cc02ca36e5ab46">faiss::IndexShards::IndexShards</a></div><div class="ttdeci">IndexShards(idx_t d, bool threaded=false, bool successive_ids=true)</div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8cpp_source.html#l00367">MetaIndexes.cpp:367</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexIDMap_html_a2f36fa9150a465b48952afbba856e2a1"><div class="ttname"><a href="structfaiss_1_1IndexIDMap.html#a2f36fa9150a465b48952afbba856e2a1">faiss::IndexIDMap::search</a></div><div class="ttdeci">void search(idx_t n, const float *x, idx_t k, float *distances, idx_t *labels) const override</div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8cpp_source.html#l00069">MetaIndexes.cpp:69</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexShards_html_a1f771d50133494f682f05c9ab9e39ad9"><div class="ttname"><a href="structfaiss_1_1IndexShards.html#a1f771d50133494f682f05c9ab9e39ad9">faiss::IndexShards::add_with_ids</a></div><div class="ttdeci">void add_with_ids(idx_t n, const float *x, const long *xids) override</div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8cpp_source.html#l00437">MetaIndexes.cpp:437</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IDSelector_html"><div class="ttname"><a href="structfaiss_1_1IDSelector.html">faiss::IDSelector</a></div><div class="ttdef"><b>Definition:</b> <a href="AuxIndexStructures_8h_source.html#l00052">AuxIndexStructures.h:52</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexShards_html_a83391295650370e8987358a898bb2cca"><div class="ttname"><a href="structfaiss_1_1IndexShards.html#a83391295650370e8987358a898bb2cca">faiss::IndexShards::search</a></div><div class="ttdeci">void search(idx_t n, const float *x, idx_t k, float *distances, idx_t *labels) const override</div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8cpp_source.html#l00498">MetaIndexes.cpp:498</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexIDMap2_html_a33ff76975891695c2fa45ed26fc8eae9"><div class="ttname"><a href="structfaiss_1_1IndexIDMap2.html#a33ff76975891695c2fa45ed26fc8eae9">faiss::IndexIDMap2::add_with_ids</a></div><div class="ttdeci">void add_with_ids(idx_t n, const float *x, const long *xids) override</div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8cpp_source.html#l00142">MetaIndexes.cpp:142</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_1IndexSplitVectors_html_a8047981cb8d10c54107664c4955df402"><div class="ttname"><a href="structfaiss_1_1IndexSplitVectors.html#a8047981cb8d10c54107664c4955df402">faiss::IndexSplitVectors::reset</a></div><div class="ttdeci">void reset() override</div><div class="ttdoc">removes all elements from the database. </div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8cpp_source.html#l00727">MetaIndexes.cpp:727</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexIDMap_html_a16cce6c1e83d0d5f069c9b0399896450"><div class="ttname"><a href="structfaiss_1_1IndexIDMap.html#a16cce6c1e83d0d5f069c9b0399896450">faiss::IndexIDMap::add</a></div><div class="ttdeci">void add(idx_t n, const float *x) override</div><div class="ttdoc">this will fail. Use add_with_ids </div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8cpp_source.html#l00040">MetaIndexes.cpp:40</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexSplitVectors_html"><div class="ttname"><a href="structfaiss_1_1IndexSplitVectors.html">faiss::IndexSplitVectors</a></div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8h_source.html#l00134">MetaIndexes.h:134</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1Index_html_a2a002388d2c081c2dbab8508dcefe73d"><div class="ttname"><a href="structfaiss_1_1Index.html#a2a002388d2c081c2dbab8508dcefe73d">faiss::Index::d</a></div><div class="ttdeci">int d</div><div class="ttdoc">vector dimension </div><div class="ttdef"><b>Definition:</b> <a href="Index_8h_source.html#l00064">Index.h:64</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexIDMap_html_ad1cc5658f1879f6a2b00d76cca58cf3b"><div class="ttname"><a href="structfaiss_1_1IndexIDMap.html#ad1cc5658f1879f6a2b00d76cca58cf3b">faiss::IndexIDMap::id_map</a></div><div class="ttdeci">std::vector< long > id_map</div><div class="ttdoc">! whether pointers are deleted in destructo </div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8h_source.html#l00029">MetaIndexes.h:29</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexIDMap_html_a7dbeaf9d44d6783d371f12405e8b7f40"><div class="ttname"><a href="structfaiss_1_1IndexIDMap.html#a7dbeaf9d44d6783d371f12405e8b7f40">faiss::IndexIDMap::range_search</a></div><div class="ttdeci">void range_search(idx_t n, const float *x, float radius, RangeSearchResult *result) const override</div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8cpp_source.html#l00080">MetaIndexes.cpp:80</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexSplitVectors_html_aafa4c780e325855fe247052453967845"><div class="ttname"><a href="structfaiss_1_1IndexSplitVectors.html#aafa4c780e325855fe247052453967845">faiss::IndexSplitVectors::train</a></div><div class="ttdeci">void train(idx_t n, const float *x) override</div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8cpp_source.html#l00723">MetaIndexes.cpp:723</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexShards_html_a2e06889521c566525011eb46cc97cda6"><div class="ttname"><a href="structfaiss_1_1IndexShards.html#a2e06889521c566525011eb46cc97cda6">faiss::IndexShards::add</a></div><div class="ttdeci">void add(idx_t n, const float *x) override</div><div class="ttdoc">supported only for sub-indices that implement add_with_ids </div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8cpp_source.html#l00420">MetaIndexes.cpp:420</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1Index_html_a040c6aed1f224f3ea7bf58eebc0c31a4"><div class="ttname"><a href="structfaiss_1_1Index.html#a040c6aed1f224f3ea7bf58eebc0c31a4">faiss::Index::idx_t</a></div><div class="ttdeci">long idx_t</div><div class="ttdoc">all indices are this type </div><div class="ttdef"><b>Definition:</b> <a href="Index_8h_source.html#l00062">Index.h:62</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexIDMap2_html_a646302669189e370d9d864fc18f096fe"><div class="ttname"><a href="structfaiss_1_1IndexIDMap2.html#a646302669189e370d9d864fc18f096fe">faiss::IndexIDMap2::construct_rev_map</a></div><div class="ttdeci">void construct_rev_map()</div><div class="ttdoc">make the rev_map from scratch </div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8cpp_source.html#l00151">MetaIndexes.cpp:151</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexSplitVectors_html_af2ef88dc72b4a94f1190ecc8cb25881b"><div class="ttname"><a href="structfaiss_1_1IndexSplitVectors.html#af2ef88dc72b4a94f1190ecc8cb25881b">faiss::IndexSplitVectors::add</a></div><div class="ttdeci">void add(idx_t n, const float *x) override</div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8cpp_source.html#l00622">MetaIndexes.cpp:622</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexIDMap2_html_a87e313ebc8dd62fb734a61a6d95a98f0"><div class="ttname"><a href="structfaiss_1_1IndexIDMap2.html#a87e313ebc8dd62fb734a61a6d95a98f0">faiss::IndexIDMap2::remove_ids</a></div><div class="ttdeci">long remove_ids(const IDSelector &sel) override</div><div class="ttdoc">remove ids adapted to IndexFlat </div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8cpp_source.html#l00160">MetaIndexes.cpp:160</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexShards_html_a493da171720f2c3f35058f793fb9a6ce"><div class="ttname"><a href="structfaiss_1_1IndexShards.html#a493da171720f2c3f35058f793fb9a6ce">faiss::IndexShards::threaded</a></div><div class="ttdeci">bool threaded</div><div class="ttdoc">should the sub-indexes be deleted along with this? </div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8h_source.html#l00090">MetaIndexes.h:90</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexShards_html_aa7dc5d020de4a0552058cbf2844cb00f"><div class="ttname"><a href="structfaiss_1_1IndexShards.html#aa7dc5d020de4a0552058cbf2844cb00f">faiss::IndexShards::reset</a></div><div class="ttdeci">void reset() override</div><div class="ttdoc">removes all elements from the database. </div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8cpp_source.html#l00490">MetaIndexes.cpp:490</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1RangeSearchResult_html"><div class="ttname"><a href="structfaiss_1_1RangeSearchResult.html">faiss::RangeSearchResult</a></div><div class="ttdef"><b>Definition:</b> <a href="AuxIndexStructures_8h_source.html#l00029">AuxIndexStructures.h:29</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexIDMap_html_a70aca5b0f665c5a109d5dadf1e13b448"><div class="ttname"><a href="structfaiss_1_1IndexIDMap.html#a70aca5b0f665c5a109d5dadf1e13b448">faiss::IndexIDMap::reset</a></div><div class="ttdeci">void reset() override</div><div class="ttdoc">removes all elements from the database. </div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8cpp_source.html#l00053">MetaIndexes.cpp:53</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexSplitVectors_html_a4a010daf51e44d9717e94400cc23c159"><div class="ttname"><a href="structfaiss_1_1IndexSplitVectors.html#a4a010daf51e44d9717e94400cc23c159">faiss::IndexSplitVectors::search</a></div><div class="ttdeci">void search(idx_t n, const float *x, idx_t k, float *distances, idx_t *labels) const override</div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8cpp_source.html#l00666">MetaIndexes.cpp:666</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexIDMap_html_a699ca4891bf3a437b2a182c04d33d9b9"><div class="ttname"><a href="structfaiss_1_1IndexIDMap.html#a699ca4891bf3a437b2a182c04d33d9b9">faiss::IndexIDMap::remove_ids</a></div><div class="ttdeci">long remove_ids(const IDSelector &sel) override</div><div class="ttdoc">remove ids adapted to IndexFlat </div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8cpp_source.html#l00106">MetaIndexes.cpp:106</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexIDMap2_html_a3660adb35a3299bc328988f5ff2199fe"><div class="ttname"><a href="structfaiss_1_1IndexIDMap2.html#a3660adb35a3299bc328988f5ff2199fe">faiss::IndexIDMap2::reconstruct</a></div><div class="ttdeci">void reconstruct(idx_t key, float *recons) const override</div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8cpp_source.html#l00168">MetaIndexes.cpp:168</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexIDMap_html_ac873cb03aa323a06dca5d6f3af5fe559"><div class="ttname"><a href="structfaiss_1_1IndexIDMap.html#ac873cb03aa323a06dca5d6f3af5fe559">faiss::IndexIDMap::train</a></div><div class="ttdeci">void train(idx_t n, const float *x) override</div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8cpp_source.html#l00047">MetaIndexes.cpp:47</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1Index_html"><div class="ttname"><a href="structfaiss_1_1Index.html">faiss::Index</a></div><div class="ttdef"><b>Definition:</b> <a href="Index_8h_source.html#l00060">Index.h:60</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexShards_html"><div class="ttname"><a href="structfaiss_1_1IndexShards.html">faiss::IndexShards</a></div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8h_source.html#l00086">MetaIndexes.h:86</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexIDMap_html_aeace75e53648c052d05c357b744e090b"><div class="ttname"><a href="structfaiss_1_1IndexIDMap.html#aeace75e53648c052d05c357b744e090b">faiss::IndexIDMap::add_with_ids</a></div><div class="ttdeci">void add_with_ids(idx_t n, const float *x, const long *xids) override</div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8cpp_source.html#l00060">MetaIndexes.cpp:60</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexSplitVectors_html_a70ba3367a08722fe4466dc49c21a4d2b"><div class="ttname"><a href="structfaiss_1_1IndexSplitVectors.html#a70ba3367a08722fe4466dc49c21a4d2b">faiss::IndexSplitVectors::IndexSplitVectors</a></div><div class="ttdeci">IndexSplitVectors(idx_t d, bool threaded=false)</div><div class="ttdoc">sum of dimensions seen so far </div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8cpp_source.html#l00592">MetaIndexes.cpp:592</a></div></div>
|
|
<div class="ttc" id="structfaiss_1_1IndexIDMap_html_affa8a764304410c96489c2b2e178bcdb"><div class="ttname"><a href="structfaiss_1_1IndexIDMap.html#affa8a764304410c96489c2b2e178bcdb">faiss::IndexIDMap::own_fields</a></div><div class="ttdeci">bool own_fields</div><div class="ttdoc">! the sub-index </div><div class="ttdef"><b>Definition:</b> <a href="MetaIndexes_8h_source.html#l00028">MetaIndexes.h:28</a></div></div>
|
|
</div><!-- fragment --></div><!-- contents -->
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
</a> 1.8.5
|
|
</small></address>
|
|
</body>
|
|
</html>
|