Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

'file' object has no attribute 'rfind' [closed]

I am trying to save a word2vec to a file.

model = Word2Vec(sentences, size=vector_size, window=5, min_count=5, workers=4)
fo = open("foo.txt", "wb")
model.save(fo)

I am getting the following error in genericpath.py

File "word2Vec_impl.py", line 39, in <module>
model.save(fo, separately=None)
File "C:\Python27\lib\site-packages\gensim\models\word2vec.py", line 669, in s
ave
super(Word2Vec, self).save(*args, **kwargs)
File "C:\Python27\lib\site-packages\gensim\utils.py", line 269, in save
pickle(self, fname)
File "C:\Python27\lib\site-packages\gensim\utils.py", line 608, in pickle
with smart_open(fname, 'wb') as fout: # 'b' for binary, needed on Windows
File "C:\Python27\lib\site-packages\gensim\utils.py", line 596, in smart_open
_, ext = path.splitext(fname)
File "C:\Python27\lib\ntpath.py", line 190, in splitext
return genericpath._splitext(p, sep, altsep, extsep)
File "C:\Python27\lib\genericpath.py", line 91, in _splitext
sepIndex = p.rfind(sep)
AttributeError: 'file' object has no attribute 'rfind'

Where I am going wrong?

like image 547
user3228815 Avatar asked Jan 11 '23 13:01

user3228815


1 Answers

Word2Vec.save accepts a filename, not a file object.

model = Word2Vec(sentences, size=vector_size, window=5, min_count=5, workers=4)
model.save('foo.txt')
like image 158
falsetru Avatar answered Jan 17 '23 17:01

falsetru