brunch

You can make anything
by writing

C.S.Lewis

by 유윤식 Mar 23. 2021

Python: ANNOY

##Approximate Nearest Neighbors Oh Yeah

FAISS 사용해도 되는데,


https://github.com/facebookresearch/faiss


굳이,

Gensim의 Word2Vec, FastText 를 사용한다면

ANNOY 를 고려해보자.



https://radimrehurek.com/gensim/auto_examples/tutorials/run_annoy.html



사용법은 사실 따라면 끝이라서...

input 이 뭔지, output은 뭔지.

이것만 알면 누구나 할 수 있을 것 같고,


이걸 실행해보려면,

>> pip install annoy

라이브러리 설치를 해야하는데,

에러가 날 확률 99%...


CENTOS7 기준으로

1. yum install centos-release-scl -y

2. yum install devtoolset-7-gcc* -y

3. scl enable devtoolset-7 bash


해주면 끝.


모델을 학습하고 모든 타켓에 대해서 거리 계산을 빠르게 할 수 있는 대표 라이브러리.

결과는 list 타입으로,

npy 또는 튜터리얼에 있는 그냥 .save('WHERE TO STORE') 하면 사용 가능.


faiss 는 설치가 좀 까다롭다(개인적인 생각).

cmake 부터...

사실 따라하면 되지만 dependency 를 simple 하게 만들 수 있는 장점이 줄어드는 경우는

피하려고하는 경향이 있어서.


끝.

작가의 이전글 Python:ProcessPoolExecutor
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari