faiss學習

faiss 學習

介紹

安裝

編譯

索引學習


  • 首先想在本地mac上編譯faiss(失敗)html

    • 安裝了cuda,但mac沒有GPU
    • gcc g++ 默認使用的cmake,經過設置環境變量解決
    • 安裝openblas boost thrift zookeeper
    • 還有一些依賴問題沒有解決
    • 編譯整個項目時出現找不到頭文件的問題
  • 在本地安裝thrift0.9.2(失敗)git

    • 分別能夠從github與thrit官網下載包進行安裝,但都沒有安裝成功
    • 使用brew install thrift能夠安裝成功,但沒法經過命令選擇0.9.2版本
    • 網上能找到方法,從github上clone下來brew的thrift版本,而後git log找到0.9.2版本對應的commit id,git checkout到這個id,執行命令,會出錯
  • 拉取centos7 docker鏡像(失敗)github

    • 因爲生產環境中使用的是centos7,因此想拉取相同系統環境的鏡像,好處是能夠直接把線上的庫文件scp到本地
    • 安裝cmake make gcc g++
    • 但仍然須要安裝cuda openblas thrift boost zookeeper等等依賴
    • 依賴安裝不完整,編譯項目時出現找不到頭文件問題
  • 使用測試環境(經過)docker

    • 好處是各類依賴已經安裝好
    • 有點麻煩的是在本地clion寫好測試代碼,複製到測試機上進行編譯並執行測試
    • 測試目的爲faiss不一樣版本之間的性能,因爲編譯faiss(生成靜態庫文件)須要cuda openblas等依賴,所以也在測試機上執行
    • 直接將原src目錄下的makefile目錄複製,並進行修改(makefile來自nmslib項目,其中還有不少編譯選項不明白)
    • 編譯好不一樣版本的faiss靜態庫文件,完成性能測試(faiss庫還有待繼續深刻學習)
  • 使用測試環境(沒法使用GPU創建索引)centos

    • 緣由是測試環境的機器沒有GPU,還一直在google錯誤信息,浪費時間,心塞。。。
      • 查看gpu以及類型 lspci | grep -i vga; lspci |grep -i nvidia
      • 查看nvidia顯卡狀態 nvidia-smi
  • 類似度post

    • inner product: 越大越類似(越大夾角越小,方向越一致)
    • cosine similarity: normalized vector, inner product, -1:1,越大越類似

待補充...

相關文章
相關標籤/搜索