gensim 패키지를 사용해서 doc2vec 모델이나 word2vec 모델을 학습할 때에 gensim 자체적으로 c complier를 사용하여 더욱 빠르게 학습이 가능하게 하였다고 합니다. 하지만 자신의 컴퓨터에 c extension이 설치 되지 않은 경우에는 학습 속도가 느릴것이다는 메시지가 나올수 있습니다. 해당 메시지를 보지 않고 미리 C complier와 link가 잘 되었는지 확인하는 방법을 간단하게 정리합니다. from gensim.models.word2vec import FAST_VERSION 위와 같이 FAST_VERSION을 import 한 후에 해당 값이 '0' 혹은 '1'인 경우에는 C complier를 사용해서 빠른 속도로 학습할 준비가 된것을 확인 할 수 있습니다. 데이터가 작은 ..
from torch.nn import Embedding import gensim model_test = gensim.models.fasttext.load_facebook_model("/MY/FASTTEXT/bin MODEL FILE") fastext_wv = model_test.wv.vectors embeding = torch.nn.Embedding.from_pretrained(torch.FloatTensor(fastext_wv))
gensim 패키지를 설치하면서 오류가 발생해서 정리합니다. 보통 패키지를 pip명령어로 아래와 같이 간편하게 설치합니다. pip install gensim 근데 설치 후에 코드에서 import를 하면 아래와 같은 오류가 발생하는 경우가 있는데요. unable to import 'smart_open.gcs', disabling that module 해당 에러는 gensim이 설치되면서 같이 설치되는 "smart_open"패키지의 버전이 맞지 않아서 생기는 오류라고 합니다. 간단하게 아래 명령어로 samrt_open의 버전을 낮춰주면 문제가 해결됩니다. pip install smart_open==1.10.0
모델 학습하고 API를 만들면서 모델 불러오는 과정 중에 에러가 나와서 해결 방법 정리... “AttributeError: LSTM object has no attribute flat_weights_names” 사실 창피하게도 torch 설치 버전이 안맞아서 그런거 였음... 학습은 1.1.0에서 하고 API세팅하면서 torch 버전을 1.3으로 설치했더니 버전이 안맞아서 생긴 문제였다...
해당 문제는 파이토치의 버전이 변경되면서 발생하는 오류 1.2버전이후 부터 발생하는 오류로 단순하게는 파이토치의 버전을 다운그레이드 하면 해결됩니다. pip install torch==1.1.0 torchvision==0.3.0 openNMT등의 오픈소스프로젝트에서는 해당오류를 변경했지만 아직 반영 안된 프로젝트등이 있습니다,
파이토치를 사용하면서 깃허브의 여러 코드들을 참고하는데요. 자주 헷갈리는 것이 "F.cross_entropy"와 "nn.CrossEntropyLoss()"을 언제 쓰는가 였습니다. 어느 코드에서는 전자를 사용하고 어느코드에서는 후자를 사용하고... 그래서 한번 정리해 보려고 합니다. 구글에 검색해보니 pytorch 커뮤니티의 이 글에 예전에 답이 달린 질문이 있었습니다. 결론은 "큰차이가 없다" 였습니다. 두개의 차이는 state가 있냐 없냐의 차이라고 합니다. 따라서, 학습을 위해서 계산을 할때는 두개 중 어느 것을 사용하여도 큰 차이가 없습니다. 단, nn.CrossEntropyLoss와 F.cross entropy는 클래스냐 함수냐의 차이는 있으므로 사용하는 방법은 조금 다르므로 레퍼런스 문서를 한..
랭킹과 관련된 논문들을 보면 자주 나오는 평가척도들이 있습니다. MRR과 PMRR인데요. 볼 때마다 내용을 헷갈리는거 같아서 한번 정리해보려고 합니다. MRR, Mean Reciprocal Rank MRR은 Reciprocal Rank의 평균값입니다. 그렇다면 Reciprocal Rank가 뭔지 알아야 합니다. 사실 MRR은 위키에 예시와 함께 설명이 잘 나와 있습니다. https://en.wikipedia.org/wiki/Mean_reciprocal_rank Mean reciprocal rank - Wikipedia The mean reciprocal rank is a statistic measure for evaluating any process that produces a list of possib..