dak ブログ

python、rubyなどのプログラミング、MySQL、サーバーの設定などの備忘録。レゴの写真も。

python でライブラリのパスを指定する方法

2019-11-07 23:34:17 | python
python でライブラリのパスを指定する方法のメモ。

ライブラリを読み込む際、読み込み元からのライブラリとの相対パスで以下のように指定します。
import sys
import os

sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/読み込み元からのライブラリとの相対パス')


libディレクトリにライブラリがある場合、以下を指定します。
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/lib')


nmslibの使い方のメモ

2019-11-07 23:24:44 | python
nmslibの使い方のメモ

■インデックス生成
vectors = numpy.array(numpy.array([...], ,dtype='float32'))

indexer = nmslib.init(method='hnsw', space='cosinesimil')
num = indexer.addDataPointBatch(vectors) # num: インデックス数
indexer.createIndex({'post': 2}, print_progress=True)


■インデックス保存
indexer.saveIndex(fname)


■インデックス読み込み
indexer = nmslib.init(method='hnsw', space='cosinesimil')
indexer.loadIndex(fname)


■検索
arg_vector = numpy.array([...], dtype='float32')
res = indexer.knnQuery(arg_vector, 10)

ids = res[0] # IDのリスト
dists = res[1] # 距離のリスト