2018-01-09 22:44:43 +08:00
<!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: faiss::Index2Layer Struct Reference< / 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 class = "current" > < a href = "annotated.html" > < span > Classes< / span > < / a > < / li >
< li > < 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 = "annotated.html" > < span > Class  List< / span > < / a > < / li >
< li > < a href = "classes.html" > < span > Class  Index< / span > < / a > < / li >
< li > < a href = "hierarchy.html" > < span > Class  Hierarchy< / span > < / a > < / li >
< li > < a href = "functions.html" > < span > Class  Members< / span > < / a > < / li >
< / ul >
< / div >
<!-- 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 id = "nav-path" class = "navpath" >
< ul >
< li class = "navelem" > < a class = "el" href = "namespacefaiss.html" > faiss< / a > < / li > < li class = "navelem" > < a class = "el" href = "structfaiss_1_1Index2Layer.html" > Index2Layer< / a > < / li > < / ul >
< / div >
< / div > <!-- top -->
< div class = "header" >
< div class = "summary" >
< a href = "#pub-methods" > Public Member Functions< / a > |
< a href = "#pub-attribs" > Public Attributes< / a > |
< a href = "structfaiss_1_1Index2Layer-members.html" > List of all members< / a > < / div >
< div class = "headertitle" >
< div class = "title" > faiss::Index2Layer Struct Reference< / div > < / div >
< / div > <!-- header -->
< div class = "contents" >
< p > < code > #include < < a class = "el" href = "IndexIVFPQ_8h_source.html" > IndexIVFPQ.h< / a > > < / code > < / p >
< div class = "dynheader" >
Inheritance diagram for faiss::Index2Layer:< / div >
< div class = "dyncontent" >
< div class = "center" >
< img src = "structfaiss_1_1Index2Layer.png" usemap = "#faiss::Index2Layer_map" alt = "" / >
< map id = "faiss::Index2Layer_map" name = "faiss::Index2Layer_map" >
< area href = "structfaiss_1_1Index.html" alt = "faiss::Index" shape = "rect" coords = "0,0,114,24" / >
< / map >
< / div > < / div >
< table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "pub-methods" > < / a >
Public Member Functions< / h2 > < / td > < / tr >
< tr class = "memitem:acf91ea32be516c27ad3f1da6696b066e" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "acf91ea32be516c27ad3f1da6696b066e" > < / a >
  < / td > < td class = "memItemRight" valign = "bottom" > < b > Index2Layer< / b > (< a class = "el" href = "structfaiss_1_1Index.html" > Index< / a > *quantizer, size_t nlist, int M, < a class = "el" href = "namespacefaiss.html#afd12191c638da74760ff397cf319752c" > MetricType< / a > metric=METRIC_L2)< / td > < / tr >
< tr class = "separator:acf91ea32be516c27ad3f1da6696b066e" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-05-28 22:17:22 +08:00
< tr class = "memitem:a48cbf519590313f1c6a3dc89c8d0678c" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index2Layer.html#a48cbf519590313f1c6a3dc89c8d0678c" > train< / a > (< a class = "el" href = "structfaiss_1_1Index.html#ad3f0d3071f987baabbdd3da4500c87ea" > idx_t< / a > n, const float *x) override< / td > < / tr >
2018-01-09 22:44:43 +08:00
< tr class = "separator:a48cbf519590313f1c6a3dc89c8d0678c" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-05-28 22:17:22 +08:00
< tr class = "memitem:a0aa69e64a2b216a01f99366e8ca4dc7b" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index2Layer.html#a0aa69e64a2b216a01f99366e8ca4dc7b" > add< / a > (< a class = "el" href = "structfaiss_1_1Index.html#ad3f0d3071f987baabbdd3da4500c87ea" > idx_t< / a > n, const float *x) override< / td > < / tr >
2018-01-09 22:44:43 +08:00
< tr class = "separator:a0aa69e64a2b216a01f99366e8ca4dc7b" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a5961efc2e19d9a6e5224f477b6d1b226" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a5961efc2e19d9a6e5224f477b6d1b226" > < / a >
2019-05-28 22:17:22 +08:00
void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index2Layer.html#a5961efc2e19d9a6e5224f477b6d1b226" > search< / a > (< a class = "el" href = "structfaiss_1_1Index.html#ad3f0d3071f987baabbdd3da4500c87ea" > idx_t< / a > n, const float *x, < a class = "el" href = "structfaiss_1_1Index.html#ad3f0d3071f987baabbdd3da4500c87ea" > idx_t< / a > k, float *distances, < a class = "el" href = "structfaiss_1_1Index.html#ad3f0d3071f987baabbdd3da4500c87ea" > idx_t< / a > *labels) const override< / td > < / tr >
2018-01-09 22:44:43 +08:00
< tr class = "memdesc:a5961efc2e19d9a6e5224f477b6d1b226" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > not implemented < br / > < / td > < / tr >
< tr class = "separator:a5961efc2e19d9a6e5224f477b6d1b226" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-05-28 22:17:22 +08:00
< tr class = "memitem:a226daedaa05c0e0bb3a0afb78d5aa120" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index2Layer.html#a226daedaa05c0e0bb3a0afb78d5aa120" > reconstruct_n< / a > (< a class = "el" href = "structfaiss_1_1Index.html#ad3f0d3071f987baabbdd3da4500c87ea" > idx_t< / a > i0, < a class = "el" href = "structfaiss_1_1Index.html#ad3f0d3071f987baabbdd3da4500c87ea" > idx_t< / a > ni, float *recons) const override< / td > < / tr >
2018-01-09 22:44:43 +08:00
< tr class = "separator:a226daedaa05c0e0bb3a0afb78d5aa120" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-05-28 22:17:22 +08:00
< tr class = "memitem:af2e505c14e62234eb251fcb37ef012d2" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index2Layer.html#af2e505c14e62234eb251fcb37ef012d2" > reconstruct< / a > (< a class = "el" href = "structfaiss_1_1Index.html#ad3f0d3071f987baabbdd3da4500c87ea" > idx_t< / a > key, float *recons) const override< / td > < / tr >
2018-01-09 22:44:43 +08:00
< tr class = "separator:af2e505c14e62234eb251fcb37ef012d2" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a12e446dbca14688c37e038c98972ef4e" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a12e446dbca14688c37e038c98972ef4e" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index2Layer.html#a12e446dbca14688c37e038c98972ef4e" > reset< / a > () override< / td > < / tr >
< tr class = "memdesc:a12e446dbca14688c37e038c98972ef4e" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > removes all elements from the database. < br / > < / td > < / tr >
< tr class = "separator:a12e446dbca14688c37e038c98972ef4e" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a8692273ff51ab7f34748c3d5b3295216" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a8692273ff51ab7f34748c3d5b3295216" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index2Layer.html#a8692273ff51ab7f34748c3d5b3295216" > transfer_to_IVFPQ< / a > (< a class = "el" href = "structfaiss_1_1IndexIVFPQ.html" > IndexIVFPQ< / a > & other) const < / td > < / tr >
< tr class = "memdesc:a8692273ff51ab7f34748c3d5b3295216" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > transfer the flat codes to an IVFPQ index < br / > < / td > < / tr >
< tr class = "separator:a8692273ff51ab7f34748c3d5b3295216" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "inherit_header pub_methods_structfaiss_1_1Index" > < td colspan = "2" onclick = "javascript:toggleInherit('pub_methods_structfaiss_1_1Index')" > < img src = "closed.png" alt = "-" / >   Public Member Functions inherited from < a class = "el" href = "structfaiss_1_1Index.html" > faiss::Index< / a > < / td > < / tr >
< tr class = "memitem:a7b8cc435b5619d5d8382010a424bf67e inherit pub_methods_structfaiss_1_1Index" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a7b8cc435b5619d5d8382010a424bf67e" > < / a >
2019-05-28 22:17:22 +08:00
  < / td > < td class = "memItemRight" valign = "bottom" > < b > Index< / b > (< a class = "el" href = "structfaiss_1_1Index.html#ad3f0d3071f987baabbdd3da4500c87ea" > idx_t< / a > < a class = "el" href = "structfaiss_1_1Index.html#a2a002388d2c081c2dbab8508dcefe73d" > d< / a > =0, < a class = "el" href = "namespacefaiss.html#afd12191c638da74760ff397cf319752c" > MetricType< / a > metric=METRIC_L2)< / td > < / tr >
2018-01-09 22:44:43 +08:00
< tr class = "separator:a7b8cc435b5619d5d8382010a424bf67e inherit pub_methods_structfaiss_1_1Index" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-05-28 22:17:22 +08:00
< tr class = "memitem:aa6931dfe054b33b02c842ff75f7a0c7f inherit pub_methods_structfaiss_1_1Index" > < td class = "memItemLeft" align = "right" valign = "top" > virtual void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index.html#aa6931dfe054b33b02c842ff75f7a0c7f" > add_with_ids< / a > (< a class = "el" href = "structfaiss_1_1Index.html#ad3f0d3071f987baabbdd3da4500c87ea" > idx_t< / a > n, const float *x, const long *xids)< / td > < / tr >
2018-01-09 22:44:43 +08:00
< tr class = "separator:aa6931dfe054b33b02c842ff75f7a0c7f inherit pub_methods_structfaiss_1_1Index" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-05-28 22:17:22 +08:00
< tr class = "memitem:a236897832a58dbb205e2d662c1929fb1 inherit pub_methods_structfaiss_1_1Index" > < td class = "memItemLeft" align = "right" valign = "top" > virtual void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index.html#a236897832a58dbb205e2d662c1929fb1" > range_search< / a > (< a class = "el" href = "structfaiss_1_1Index.html#ad3f0d3071f987baabbdd3da4500c87ea" > idx_t< / a > n, const float *x, float radius, < a class = "el" href = "structfaiss_1_1RangeSearchResult.html" > RangeSearchResult< / a > *result) const < / td > < / tr >
2018-01-09 22:44:43 +08:00
< tr class = "separator:a236897832a58dbb205e2d662c1929fb1 inherit pub_methods_structfaiss_1_1Index" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-05-28 22:17:22 +08:00
< tr class = "memitem:a8bc5d8d1cd0dd7b34b3c98a9f76b4a9c inherit pub_methods_structfaiss_1_1Index" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index.html#a8bc5d8d1cd0dd7b34b3c98a9f76b4a9c" > assign< / a > (< a class = "el" href = "structfaiss_1_1Index.html#ad3f0d3071f987baabbdd3da4500c87ea" > idx_t< / a > n, const float *x, < a class = "el" href = "structfaiss_1_1Index.html#ad3f0d3071f987baabbdd3da4500c87ea" > idx_t< / a > *labels, < a class = "el" href = "structfaiss_1_1Index.html#ad3f0d3071f987baabbdd3da4500c87ea" > idx_t< / a > k=1)< / td > < / tr >
2018-01-09 22:44:43 +08:00
< tr class = "separator:a8bc5d8d1cd0dd7b34b3c98a9f76b4a9c inherit pub_methods_structfaiss_1_1Index" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:af8bf7bd97aeed8ad5fc48b242379a68a inherit pub_methods_structfaiss_1_1Index" > < td class = "memItemLeft" align = "right" valign = "top" > virtual long  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index.html#af8bf7bd97aeed8ad5fc48b242379a68a" > remove_ids< / a > (const < a class = "el" href = "structfaiss_1_1IDSelector.html" > IDSelector< / a > & sel)< / td > < / tr >
< tr class = "separator:af8bf7bd97aeed8ad5fc48b242379a68a inherit pub_methods_structfaiss_1_1Index" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-05-28 22:17:22 +08:00
< tr class = "memitem:aa5b4e63e1064f9bf9c75625d114b353f inherit pub_methods_structfaiss_1_1Index" > < td class = "memItemLeft" align = "right" valign = "top" > virtual void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index.html#aa5b4e63e1064f9bf9c75625d114b353f" > search_and_reconstruct< / a > (< a class = "el" href = "structfaiss_1_1Index.html#ad3f0d3071f987baabbdd3da4500c87ea" > idx_t< / a > n, const float *x, < a class = "el" href = "structfaiss_1_1Index.html#ad3f0d3071f987baabbdd3da4500c87ea" > idx_t< / a > k, float *distances, < a class = "el" href = "structfaiss_1_1Index.html#ad3f0d3071f987baabbdd3da4500c87ea" > idx_t< / a > *labels, float *recons) const < / td > < / tr >
2018-01-09 22:44:43 +08:00
< tr class = "separator:aa5b4e63e1064f9bf9c75625d114b353f inherit pub_methods_structfaiss_1_1Index" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-05-28 22:17:22 +08:00
< tr class = "memitem:aaae77608bbda70b1098897e9167a82f9 inherit pub_methods_structfaiss_1_1Index" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index.html#aaae77608bbda70b1098897e9167a82f9" > compute_residual< / a > (const float *x, float *residual, < a class = "el" href = "structfaiss_1_1Index.html#ad3f0d3071f987baabbdd3da4500c87ea" > idx_t< / a > key) const < / td > < / tr >
2018-01-09 22:44:43 +08:00
< tr class = "separator:aaae77608bbda70b1098897e9167a82f9 inherit pub_methods_structfaiss_1_1Index" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a373c30e3d87d1d4e616f450d87152b1a inherit pub_methods_structfaiss_1_1Index" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index.html#a373c30e3d87d1d4e616f450d87152b1a" > display< / a > () const < / td > < / tr >
< tr class = "separator:a373c30e3d87d1d4e616f450d87152b1a inherit pub_methods_structfaiss_1_1Index" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "pub-attribs" > < / a >
Public Attributes< / h2 > < / td > < / tr >
< tr class = "memitem:a5f2d70740af90b8c7ac946d58ec947aa" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a5f2d70740af90b8c7ac946d58ec947aa" > < / a >
< a class = "el" href = "structfaiss_1_1Level1Quantizer.html" > Level1Quantizer< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index2Layer.html#a5f2d70740af90b8c7ac946d58ec947aa" > q1< / a > < / td > < / tr >
< tr class = "memdesc:a5f2d70740af90b8c7ac946d58ec947aa" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > first level quantizer < br / > < / td > < / tr >
< tr class = "separator:a5f2d70740af90b8c7ac946d58ec947aa" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ab90d1de73cbc705a347cfc852ded6006" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ab90d1de73cbc705a347cfc852ded6006" > < / a >
< a class = "el" href = "structfaiss_1_1ProductQuantizer.html" > ProductQuantizer< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index2Layer.html#ab90d1de73cbc705a347cfc852ded6006" > pq< / a > < / td > < / tr >
< tr class = "memdesc:ab90d1de73cbc705a347cfc852ded6006" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > second level quantizer is always a PQ < br / > < / td > < / tr >
< tr class = "separator:ab90d1de73cbc705a347cfc852ded6006" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a8e6bcfa690ac5ab1636b3d89b144f2d9" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a8e6bcfa690ac5ab1636b3d89b144f2d9" > < / a >
std::vector< uint8_t >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index2Layer.html#a8e6bcfa690ac5ab1636b3d89b144f2d9" > codes< / a > < / td > < / tr >
< tr class = "memdesc:a8e6bcfa690ac5ab1636b3d89b144f2d9" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Codes. Size ntotal * code_size. < br / > < / td > < / tr >
< tr class = "separator:a8e6bcfa690ac5ab1636b3d89b144f2d9" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a735b2b6cc50e4186776a8213d2679837" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a735b2b6cc50e4186776a8213d2679837" > < / a >
size_t  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index2Layer.html#a735b2b6cc50e4186776a8213d2679837" > code_size_1< / a > < / td > < / tr >
< tr class = "memdesc:a735b2b6cc50e4186776a8213d2679837" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > size of the code for the first level (ceil(log8(q1.nlist))) < br / > < / td > < / tr >
< tr class = "separator:a735b2b6cc50e4186776a8213d2679837" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ad47e3c6493d54c2b83f1120b480d20f3" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ad47e3c6493d54c2b83f1120b480d20f3" > < / a >
size_t  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index2Layer.html#ad47e3c6493d54c2b83f1120b480d20f3" > code_size_2< / a > < / td > < / tr >
< tr class = "memdesc:ad47e3c6493d54c2b83f1120b480d20f3" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > size of the code for the second level < br / > < / td > < / tr >
< tr class = "separator:ad47e3c6493d54c2b83f1120b480d20f3" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a66403863c8ec987ed83b4d7ef4064fe9" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a66403863c8ec987ed83b4d7ef4064fe9" > < / a >
size_t  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index2Layer.html#a66403863c8ec987ed83b4d7ef4064fe9" > code_size< / a > < / td > < / tr >
< tr class = "memdesc:a66403863c8ec987ed83b4d7ef4064fe9" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > code_size_1 + code_size_2 < br / > < / td > < / tr >
< tr class = "separator:a66403863c8ec987ed83b4d7ef4064fe9" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "inherit_header pub_attribs_structfaiss_1_1Index" > < td colspan = "2" onclick = "javascript:toggleInherit('pub_attribs_structfaiss_1_1Index')" > < img src = "closed.png" alt = "-" / >   Public Attributes inherited from < a class = "el" href = "structfaiss_1_1Index.html" > faiss::Index< / a > < / td > < / tr >
< tr class = "memitem:a2a002388d2c081c2dbab8508dcefe73d inherit pub_attribs_structfaiss_1_1Index" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a2a002388d2c081c2dbab8508dcefe73d" > < / a >
int  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index.html#a2a002388d2c081c2dbab8508dcefe73d" > d< / a > < / td > < / tr >
< tr class = "memdesc:a2a002388d2c081c2dbab8508dcefe73d inherit pub_attribs_structfaiss_1_1Index" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > vector dimension < br / > < / td > < / tr >
< tr class = "separator:a2a002388d2c081c2dbab8508dcefe73d inherit pub_attribs_structfaiss_1_1Index" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a6970683faa021b7a6f1a0865c0d4eccd inherit pub_attribs_structfaiss_1_1Index" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a6970683faa021b7a6f1a0865c0d4eccd" > < / a >
2019-05-28 22:17:22 +08:00
< a class = "el" href = "structfaiss_1_1Index.html#ad3f0d3071f987baabbdd3da4500c87ea" > idx_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index.html#a6970683faa021b7a6f1a0865c0d4eccd" > ntotal< / a > < / td > < / tr >
2018-01-09 22:44:43 +08:00
< tr class = "memdesc:a6970683faa021b7a6f1a0865c0d4eccd inherit pub_attribs_structfaiss_1_1Index" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > total nb of indexed vectors < br / > < / td > < / tr >
< tr class = "separator:a6970683faa021b7a6f1a0865c0d4eccd inherit pub_attribs_structfaiss_1_1Index" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a5590d847c5c2b958affd2a05e58a6f23 inherit pub_attribs_structfaiss_1_1Index" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a5590d847c5c2b958affd2a05e58a6f23" > < / a >
bool  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index.html#a5590d847c5c2b958affd2a05e58a6f23" > verbose< / a > < / td > < / tr >
< tr class = "memdesc:a5590d847c5c2b958affd2a05e58a6f23 inherit pub_attribs_structfaiss_1_1Index" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > verbosity level < br / > < / td > < / tr >
< tr class = "separator:a5590d847c5c2b958affd2a05e58a6f23 inherit pub_attribs_structfaiss_1_1Index" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a6e92732617c4dbe364e7678dd8773a7f inherit pub_attribs_structfaiss_1_1Index" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a6e92732617c4dbe364e7678dd8773a7f" > < / a >
bool  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index.html#a6e92732617c4dbe364e7678dd8773a7f" > is_trained< / a > < / td > < / tr >
< tr class = "memdesc:a6e92732617c4dbe364e7678dd8773a7f inherit pub_attribs_structfaiss_1_1Index" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > set if the < a class = "el" href = "structfaiss_1_1Index.html" > Index< / a > does not require training, or if training is done already < br / > < / td > < / tr >
< tr class = "separator:a6e92732617c4dbe364e7678dd8773a7f inherit pub_attribs_structfaiss_1_1Index" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a8e18f641854b2bde83ecff0a2f9a6f4e inherit pub_attribs_structfaiss_1_1Index" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a8e18f641854b2bde83ecff0a2f9a6f4e" > < / a >
< a class = "el" href = "namespacefaiss.html#afd12191c638da74760ff397cf319752c" > MetricType< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index.html#a8e18f641854b2bde83ecff0a2f9a6f4e" > metric_type< / a > < / td > < / tr >
< tr class = "memdesc:a8e18f641854b2bde83ecff0a2f9a6f4e inherit pub_attribs_structfaiss_1_1Index" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > type of metric this index uses for search < br / > < / td > < / tr >
< tr class = "separator:a8e18f641854b2bde83ecff0a2f9a6f4e inherit pub_attribs_structfaiss_1_1Index" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "inherited" > < / a >
Additional Inherited Members< / h2 > < / td > < / tr >
< tr class = "inherit_header pub_types_structfaiss_1_1Index" > < td colspan = "2" onclick = "javascript:toggleInherit('pub_types_structfaiss_1_1Index')" > < img src = "closed.png" alt = "-" / >   Public Types inherited from < a class = "el" href = "structfaiss_1_1Index.html" > faiss::Index< / a > < / td > < / tr >
2019-05-28 22:17:22 +08:00
< tr class = "memitem:ad3f0d3071f987baabbdd3da4500c87ea inherit pub_types_structfaiss_1_1Index" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ad3f0d3071f987baabbdd3da4500c87ea" > < / a >
using  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structfaiss_1_1Index.html#ad3f0d3071f987baabbdd3da4500c87ea" > idx_t< / a > = long< / td > < / tr >
< tr class = "memdesc:ad3f0d3071f987baabbdd3da4500c87ea inherit pub_types_structfaiss_1_1Index" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > all indices are this type < br / > < / td > < / tr >
< tr class = "separator:ad3f0d3071f987baabbdd3da4500c87ea inherit pub_types_structfaiss_1_1Index" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:af317cb1e2ad0bd145f716f2243b693eb inherit pub_types_structfaiss_1_1Index" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "af317cb1e2ad0bd145f716f2243b693eb" > < / a >
using  < / td > < td class = "memItemRight" valign = "bottom" > < b > component_t< / b > = float< / td > < / tr >
< tr class = "separator:af317cb1e2ad0bd145f716f2243b693eb inherit pub_types_structfaiss_1_1Index" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a1c60d7a12bf3ad27054963df8cccd93f inherit pub_types_structfaiss_1_1Index" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a1c60d7a12bf3ad27054963df8cccd93f" > < / a >
using  < / td > < td class = "memItemRight" valign = "bottom" > < b > distance_t< / b > = float< / td > < / tr >
< tr class = "separator:a1c60d7a12bf3ad27054963df8cccd93f inherit pub_types_structfaiss_1_1Index" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2018-01-09 22:44:43 +08:00
< / table >
< a name = "details" id = "details" > < / a > < h2 class = "groupheader" > Detailed Description< / h2 >
< div class = "textblock" > < p > Same as an < a class = "el" href = "structfaiss_1_1IndexIVFPQ.html" > IndexIVFPQ< / a > without the inverted lists: codes are stored sequentially< / p >
< p > The class is mainly inteded to store encoded vectors that can be accessed randomly, the search function is not implemented. < / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "IndexIVFPQ_8h_source.html#l00204" > 204< / a > of file < a class = "el" href = "IndexIVFPQ_8h_source.html" > IndexIVFPQ.h< / a > .< / p >
2018-01-09 22:44:43 +08:00
< / div > < h2 class = "groupheader" > Member Function Documentation< / h2 >
< a class = "anchor" id = "a0aa69e64a2b216a01f99366e8ca4dc7b" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > void faiss::Index2Layer::add < / td >
< td > (< / td >
2019-05-28 22:17:22 +08:00
< td class = "paramtype" > < a class = "el" href = "structfaiss_1_1Index.html#ad3f0d3071f987baabbdd3da4500c87ea" > idx_t< / a >   < / td >
2018-01-09 22:44:43 +08:00
< td class = "paramname" > < em > n< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const float *  < / td >
< td class = "paramname" > < em > x< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > override< / span > < span class = "mlabel" > virtual< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Add n vectors of dimension d to the index.< / p >
< p > Vectors are implicitly assigned labels ntotal .. ntotal + n - 1 This function slices the input vectors in chuncks smaller than blocksize_add and calls add_core. < / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > x< / td > < td > input matrix, size n * d < / td > < / tr >
< / table >
< / dd >
< / dl >
< p > Implements < a class = "el" href = "structfaiss_1_1Index.html#a1b5e9ac70adbce0897dd6c8276ad96f2" > faiss::Index< / a > .< / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "IndexIVFPQ_8cpp_source.html#l01440" > 1440< / a > of file < a class = "el" href = "IndexIVFPQ_8cpp_source.html" > IndexIVFPQ.cpp< / a > .< / p >
2018-01-09 22:44:43 +08:00
< / div >
< / div >
< a class = "anchor" id = "af2e505c14e62234eb251fcb37ef012d2" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > void faiss::Index2Layer::reconstruct < / td >
< td > (< / td >
2019-05-28 22:17:22 +08:00
< td class = "paramtype" > < a class = "el" href = "structfaiss_1_1Index.html#ad3f0d3071f987baabbdd3da4500c87ea" > idx_t< / a >   < / td >
2018-01-09 22:44:43 +08:00
< td class = "paramname" > < em > key< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > float *  < / td >
< td class = "paramname" > < em > recons< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > override< / span > < span class = "mlabel" > virtual< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Reconstruct a stored vector (or an approximation if lossy coding)< / p >
< p > this function may not be defined for some indexes < / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > key< / td > < td > id of the vector to reconstruct < / td > < / tr >
< tr > < td class = "paramname" > recons< / td > < td > reconstucted vector (size d) < / td > < / tr >
< / table >
< / dd >
< / dl >
< p > Reimplemented from < a class = "el" href = "structfaiss_1_1Index.html#aaef6f4132b1f390121ebb11058baf190" > faiss::Index< / a > .< / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "IndexIVFPQ_8cpp_source.html#l01540" > 1540< / a > of file < a class = "el" href = "IndexIVFPQ_8cpp_source.html" > IndexIVFPQ.cpp< / a > .< / p >
2018-01-09 22:44:43 +08:00
< / div >
< / div >
< a class = "anchor" id = "a226daedaa05c0e0bb3a0afb78d5aa120" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > void faiss::Index2Layer::reconstruct_n < / td >
< td > (< / td >
2019-05-28 22:17:22 +08:00
< td class = "paramtype" > < a class = "el" href = "structfaiss_1_1Index.html#ad3f0d3071f987baabbdd3da4500c87ea" > idx_t< / a >   < / td >
2018-01-09 22:44:43 +08:00
< td class = "paramname" > < em > i0< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2019-05-28 22:17:22 +08:00
< td class = "paramtype" > < a class = "el" href = "structfaiss_1_1Index.html#ad3f0d3071f987baabbdd3da4500c87ea" > idx_t< / a >   < / td >
2018-01-09 22:44:43 +08:00
< td class = "paramname" > < em > ni< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > float *  < / td >
< td class = "paramname" > < em > recons< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > const< / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > override< / span > < span class = "mlabel" > virtual< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Reconstruct vectors i0 to i0 + ni - 1< / p >
< p > this function may not be defined for some indexes < / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > recons< / td > < td > reconstucted vector (size ni * d) < / td > < / tr >
< / table >
< / dd >
< / dl >
< p > Reimplemented from < a class = "el" href = "structfaiss_1_1Index.html#a1936604fffe16b0ef2a3879305950738" > faiss::Index< / a > .< / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "IndexIVFPQ_8cpp_source.html#l01498" > 1498< / a > of file < a class = "el" href = "IndexIVFPQ_8cpp_source.html" > IndexIVFPQ.cpp< / a > .< / p >
2018-01-09 22:44:43 +08:00
< / div >
< / div >
< a class = "anchor" id = "a48cbf519590313f1c6a3dc89c8d0678c" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > void faiss::Index2Layer::train < / td >
< td > (< / td >
2019-05-28 22:17:22 +08:00
< td class = "paramtype" > < a class = "el" href = "structfaiss_1_1Index.html#ad3f0d3071f987baabbdd3da4500c87ea" > idx_t< / a >   < / td >
2018-01-09 22:44:43 +08:00
< td class = "paramname" > < em > n< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > const float *  < / td >
< td class = "paramname" > < em > x< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > override< / span > < span class = "mlabel" > virtual< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Perform training on a representative set of vectors< / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > n< / td > < td > nb of training vectors < / td > < / tr >
< tr > < td class = "paramname" > x< / td > < td > training vecors, size n * d < / td > < / tr >
< / table >
< / dd >
< / dl >
< p > Reimplemented from < a class = "el" href = "structfaiss_1_1Index.html#abf601502bdbfa02b9d7bcd7b3671b71d" > faiss::Index< / a > .< / p >
2019-05-28 22:17:22 +08:00
< p > Definition at line < a class = "el" href = "IndexIVFPQ_8cpp_source.html#l01402" > 1402< / a > of file < a class = "el" href = "IndexIVFPQ_8cpp_source.html" > IndexIVFPQ.cpp< / a > .< / p >
2018-01-09 22:44:43 +08:00
< / div >
< / div >
< hr / > The documentation for this struct was generated from the following files:< ul >
2019-05-28 22:17:22 +08:00
< li > /data/users/hoss/faiss/< a class = "el" href = "IndexIVFPQ_8h_source.html" > IndexIVFPQ.h< / a > < / li >
< li > /data/users/hoss/faiss/< a class = "el" href = "IndexIVFPQ_8cpp_source.html" > IndexIVFPQ.cpp< / a > < / li >
2018-01-09 22:44:43 +08:00
< / ul >
< / 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 >