Advertisement
Guest User

Untitled

a guest
Oct 15th, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.65 KB | None | 0 0
  1. {
  2. "cells": [
  3. {
  4. "cell_type": "code",
  5. "execution_count": 1,
  6. "metadata": {
  7. "collapsed": true{
  8. "cells": [
  9. {
  10. "cell_type": "code",
  11. "execution_count": 1,
  12. "metadata": {
  13. "collapsed": true
  14. },
  15. "outputs": [],
  16. "source": [
  17. "import numpy as np\n",
  18. "import faiss"
  19. ]
  20. },
  21. {
  22. "cell_type": "code",
  23. "execution_count": 2,
  24. "metadata": {
  25. "collapsed": true
  26. },
  27. "outputs": [],
  28. "source": [
  29. "index = faiss.index_factory(128, \"IVF52428_HNSW32,PQ64\")"
  30. ]
  31. },
  32. {
  33. "cell_type": "code",
  34. "execution_count": 3,
  35. "metadata": {
  36. "collapsed": true
  37. },
  38. "outputs": [],
  39. "source": [
  40. "# train \n",
  41. "xt = faiss.rand((100000 ,128))\n",
  42. "index.train(xt)"
  43. ]
  44. },
  45. {
  46. "cell_type": "code",
  47. "execution_count": 5,
  48. "metadata": {
  49. "collapsed": true
  50. },
  51. "outputs": [],
  52. "source": [
  53. "# initial add\n",
  54. "x = faiss.rand((130000, 128))\n",
  55. "index.add(x)"
  56. ]
  57. },
  58. {
  59. "cell_type": "code",
  60. "execution_count": 8,
  61. "metadata": {},
  62. "outputs": [
  63. {
  64. "name": "stdout",
  65. "output_type": "stream",
  66. "text": [
  67. "index size 280000, mem usage 547.32 MiB\r"
  68. ]
  69. }
  70. ],
  71. "source": [
  72. "# add 150k by batches of 100, monitor mem usage\n",
  73. "log = []\n",
  74. "for na in range(0, 150000, 100): \n",
  75. " x = faiss.rand((100, 128), seed=na * 12345)\n",
  76. " index.add(x)\n",
  77. " mem = faiss.get_mem_usage_kb()\n",
  78. " print('index size %d, mem usage %.2f MiB' % (index.ntotal, mem / 1024.), end='\\r', flush=True)\n",
  79. " log.append((index.ntotal, mem))"
  80. ]
  81. },
  82. {
  83. "cell_type": "code",
  84. "execution_count": 13,
  85. "metadata": {},
  86. "outputs": [
  87. {
  88. "data": {
  89. "text/plain": [
  90. "87.8221747831888"
  91. ]
  92. },
  93. "execution_count": 13,
  94. "metadata": {
  95. "bento_obj_id": "140247899674688"
  96. },
  97. "output_type": "execute_result"
  98. }
  99. ],
  100. "source": [
  101. "# added bytes per vector\n",
  102. "\n",
  103. "n0, mem0 = log[0]\n",
  104. "n1, mem1 = log[-1]\n",
  105. "\n",
  106. "(mem1 - mem0) * 1024 / (n1 - n0)"
  107. ]
  108. },
  109. {
  110. "cell_type": "code",
  111. "execution_count": null,
  112. "metadata": {
  113. "collapsed": true
  114. },
  115. "outputs": [],
  116. "source": []
  117. }
  118. ],
  119. "metadata": {
  120. "bento_stylesheets": {
  121. "bento/extensions/flow/main.css": true,
  122. "bento/extensions/kernel_selector/main.css": true,
  123. "bento/extensions/kernel_ui/main.css": true,
  124. "bento/extensions/new_kernel/main.css": true,
  125. "bento/extensions/system_usage/main.css": true,
  126. "bento/extensions/theme/main.css": true
  127. },
  128. "kernelspec": {
  129. "display_name": "faiss",
  130. "language": "python",
  131. "name": "bento_kernel_faiss"
  132. },
  133. "language_info": {
  134. "codemirror_mode": {
  135. "name": "ipython",
  136. "version": 3
  137. },
  138. "file_extension": ".py",
  139. "mimetype": "text/x-python",
  140. "name": "python",
  141. "nbconvert_exporter": "python",
  142. "pygments_lexer": "ipython3",
  143. "version": "3.6.3rc1+"
  144. }
  145. },
  146. "nbformat": 4,
  147. "nbformat_minor": 2
  148. }
  149.  
  150. },
  151. "outputs": [],
  152. "source": [
  153. "import numpy as np\n",
  154. "import faiss"
  155. ]
  156. },
  157. {
  158. "cell_type": "code",
  159. "execution_count": 2,
  160. "metadata": {
  161. "collapsed": true
  162. },
  163. "outputs": [],
  164. "source": [
  165. "index = faiss.index_factory(128, \"IVF52428_HNSW32,PQ64\")"
  166. ]
  167. },
  168. {
  169. "cell_type": "code",
  170. "execution_count": 3,
  171. "metadata": {
  172. "collapsed": true
  173. },
  174. "outputs": [],
  175. "source": [
  176. "# train \n",
  177. "xt = faiss.rand((100000 ,128))\n",
  178. "index.train(xt)"
  179. ]
  180. },
  181. {
  182. "cell_type": "code",
  183. "execution_count": 5,
  184. "metadata": {
  185. "collapsed": true
  186. },
  187. "outputs": [],
  188. "source": [
  189. "# initial add\n",
  190. "x = faiss.rand((130000, 128))\n",
  191. "index.add(x)"
  192. ]
  193. },
  194. {
  195. "cell_type": "code",
  196. "execution_count": 8,
  197. "metadata": {},
  198. "outputs": [
  199. {
  200. "name": "stdout",
  201. "output_type": "stream",
  202. "text": [
  203. "index size 280000, mem usage 547.32 MiB\r"
  204. ]
  205. }
  206. ],
  207. "source": [
  208. "# add 150k by batches of 100, monitor mem usage\n",
  209. "log = []\n",
  210. "for na in range(0, 150000, 100): \n",
  211. " x = faiss.rand((100, 128), seed=na * 12345)\n",
  212. " index.add(x)\n",
  213. " mem = faiss.get_mem_usage_kb()\n",
  214. " print('index size %d, mem usage %.2f MiB' % (index.ntotal, mem / 1024.), end='\\r', flush=True)\n",
  215. " log.append((index.ntotal, mem))"
  216. ]
  217. },
  218. {
  219. "cell_type": "code",
  220. "execution_count": 13,
  221. "metadata": {},
  222. "outputs": [
  223. {
  224. "data": {
  225. "text/plain": [
  226. "87.8221747831888"
  227. ]
  228. },
  229. "execution_count": 13,
  230. "metadata": {
  231. "bento_obj_id": "140247899674688"
  232. },
  233. "output_type": "execute_result"
  234. }
  235. ],
  236. "source": [
  237. "# added bytes per vector\n",
  238. "\n",
  239. "n0, mem0 = log[0]\n",
  240. "n1, mem1 = log[-1]\n",
  241. "\n",
  242. "(mem1 - mem0) * 1024 / (n1 - n0)"
  243. ]
  244. },
  245. {
  246. "cell_type": "code",
  247. "execution_count": null,
  248. "metadata": {
  249. "collapsed": true
  250. },
  251. "outputs": [],
  252. "source": []
  253. }
  254. ],
  255. "metadata": {
  256. "bento_stylesheets": {
  257. "bento/extensions/flow/main.css": true,
  258. "bento/extensions/kernel_selector/main.css": true,
  259. "bento/extensions/kernel_ui/main.css": true,
  260. "bento/extensions/new_kernel/main.css": true,
  261. "bento/extensions/system_usage/main.css": true,
  262. "bento/extensions/theme/main.css": true
  263. },
  264. "kernelspec": {
  265. "display_name": "faiss",
  266. "language": "python",
  267. "name": "bento_kernel_faiss"
  268. },
  269. "language_info": {
  270. "codemirror_mode": {
  271. "name": "ipython",
  272. "version": 3
  273. },
  274. "file_extension": ".py",
  275. "mimetype": "text/x-python",
  276. "name": "python",
  277. "nbconvert_exporter": "python",
  278. "pygments_lexer": "ipython3",
  279. "version": "3.6.3rc1+"
  280. }
  281. },
  282. "nbformat": 4,
  283. "nbformat_minor": 2
  284. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement