我有以下代碼:from gensim.models import Word2Vecmodel = Word2Vec.load('model2')X = model[model.wv.vocab]這段代碼適用于我的一臺機器,但不適用于另一臺機器。模型文件是一樣的。這是怎么回事?我收到的錯誤消息如下: File "/home/ec2-user/miniconda3/envs/word2vec/lib/python3.7/site-packages/gensim/models/word2vec.py", line 1330, in load model = super(Word2Vec, cls).load(*args, **kwargs) File "/home/ec2-user/miniconda3/envs/word2vec/lib/python3.7/site-packages/gensim/models/base_any2vec.py", line 1244, in load model = super(BaseWordEmbeddingsModel, cls).load(*args, **kwargs) File "/home/ec2-user/miniconda3/envs/word2vec/lib/python3.7/site-packages/gensim/models/base_any2vec.py", line 603, in load return super(BaseAny2VecModel, cls).load(fname_or_handle, **kwargs) File "/home/ec2-user/miniconda3/envs/word2vec/lib/python3.7/site-packages/gensim/utils.py", line 427, in load obj._load_specials(fname, mmap, compress, subname) File "/home/ec2-user/miniconda3/envs/word2vec/lib/python3.7/site-packages/gensim/utils.py", line 458, in _load_specials getattr(self, attrib)._load_specials(cfname, mmap, compress, subname) File "/home/ec2-user/miniconda3/envs/word2vec/lib/python3.7/site-packages/gensim/utils.py", line 469, in _load_specials val = np.load(subname(fname, attrib), mmap_mode=mmap) File "/home/ec2-user/miniconda3/envs/word2vec/lib/python3.7/site-packages/numpy/lib/npyio.py", line 440, in load pickle_kwargs=pickle_kwargs) File "/home/ec2-user/miniconda3/envs/word2vec/lib/python3.7/site-packages/numpy/lib/format.py", line 771, in read_array array.shape = shapeValueError: cannot reshape array of size 16777184 into shape (134441,128)為了安裝 gensim,我使用了conda install -c anaconda gensim
1 回答

冉冉說
TA貢獻1877條經驗 獲得超1個贊
文件大小是錯誤的。上傳過程中一定發(fā)生了什么。對于大型模型,word2vec 將模型保存在 3 個文件中。假設您的模型名稱是“model2”,您將擁有:
模型2
model2.trainables.syn1neg.npy
模型2.wv.vectors.npy
我的.wv.vectors.npy
版本比我其他機器上的版本小了幾千字節(jié)。
添加回答
舉報
0/150
提交
取消