真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

Python中怎么利用Faiss庫實現向量近鄰搜索

Python中怎么利用Faiss庫實現向量近鄰搜索,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

成都創(chuàng)新互聯(lián)公司-專業(yè)網站定制、快速模板網站建設、高性價比寧城網站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式寧城網站制作公司更省心,省錢,快速模板網站建設找我們,業(yè)務覆蓋寧城地區(qū)。費用合理售后完善,10余年實體公司更值得信賴。

1、讀取預訓練好的Embedding數據

import pandas as pdimport numpy as np
df = pd.read_csv("./datas/movielens_sparkals_item_embedding.csv")
# 提取要使用的電影ID列表,注意要轉換成int64ids = df["id"].values.astype(np.int64)
# 記錄ID列表的大小ids_size = ids.shape[0]
# 讀取內容embedding數據,轉換成二維arrayimport jsonimport numpy as npdatas = []for x in df["features"]:    datas.append(json.loads(x))# 變成二維arraydatas = np.array(datas).astype(np.float32)
# 記錄數據維度dimension = datas.shape[1]

2、使用faiss建立索引

import faiss
index = faiss.IndexFlatL2(dimension)index2 = faiss.IndexIDMap(index)
index2.add_with_ids(datas, ids)

3、實現近鄰搜索

# 讀取user embedding數據df_user = pd.read_csv("./datas/user_embedding.csv")df_user.head()
# 挑選一條user的embedding,轉換成1行N列的二維arrayuser_embedding = np.array(json.loads(df_user[df_user["id"] == 10]["features"].iloc[0]))user_embedding = np.expand_dims(user_embedding, axis=0).astype(np.float32)user_embedding
# 實現搜索,這里的I就是近鄰ID列表tok = 30D, I = index.search(user_embedding, topk)     # actual search

4、拼接得到內容列表

# 把搜索出來的ID變成Seriestarget_ids = pd.Series(I[0], name="MovieID")
# 讀取電影數據df_movie = pd.read_csv("./datas/ml-1m/movies.dat",                     sep="::", header=None, engine="python",                     names = "MovieID::Title::Genres".split("::"))# 實現內容JOINdf_result = pd.merge(target_ids, df_movie)

看完上述內容,你們掌握Python中怎么利用Faiss庫實現向量近鄰搜索的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


當前題目:Python中怎么利用Faiss庫實現向量近鄰搜索
文章鏈接:http://weahome.cn/article/geegdh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部