我使用的是運行於https://rare-technologies.com/word2vec-tutorial/#bonus_app的word2vec HTTP服務器中的w2v_server_googlenews代碼。我將加載的文件更改爲使用word2vec的原始C版本訓練的矢量文件。我加載文件與gensim Word2vec作爲HTTP服務'KeyedVectors'的代碼屬性錯誤
gensim.models.KeyedVectors.load_word2vec_format(fname, binary=True)
它似乎加載沒有問題。但是當我測試HTTP服務時,假設我使用
curl 'http://127.0.0.1/most_similar?positive%5B%5D=woman&positive%5B%5D=king&negative%5B%5D=man'
我得到一個空的結果只有執行時間。
{"taken": 0.0003361701965332031, "similars": [], "success": 1}
我穿上一traceback.print_exc()
除了相關的方法,這是在這種情況下def most_similar(self, *args, **kwargs):
的一部分,我得到:
Traceback (most recent call last):
File "./w2v_server.py", line 114, in most_similar
topn=5)
File "/usr/local/lib/python2.7/dist-packages/gensim/models/keyedvectors.py", line 304, in most_similar
self.init_sims()
File "/usr/local/lib/python2.7/dist-packages/gensim/models/keyedvectors.py", line 817, in init_sims
self.syn0norm = (self.syn0/sqrt((self.syn0 ** 2).sum(-1))[..., newaxis]).astype(REAL)
AttributeError: 'KeyedVectors' object has no attribute 'syn0'
上,爲什麼這可能發生的任何想法?
注:我使用python 2.7,我使用pip安裝了gensim,它給了我gensim 2.1.0。
完美謝謝...拉路請求。 – godidier