Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between Fasttext .vec and .bin file

Tags:

I recently downloaded fasttext pretrained model for english. I got two files:

  1. wiki.en.vec
  2. wiki.en.bin

I am not sure what is the difference between the two files?

like image 945
Bhushan Pant Avatar asked Nov 05 '17 06:11

Bhushan Pant


2 Answers

The .vec files contain only the aggregated word vectors, in plain-text. The .bin files in addition contain the model parameters, and crucially, the vectors for all the n-grams.

So if you want to encode words you did not train with using those n-grams (FastText's famous "subword information"), you need to find an API that can handle FastText .bin files (most only support the .vec files, however...).

like image 147
fnl Avatar answered Oct 14 '22 00:10

fnl


As the documentation says,

model.vec is a text file containing the word vectors, one per line. model.bin is a binary file containing the parameters of the model along with the dictionary and all hyper parameters.

In other words, .vec file format is the same as .txt file format, and you could use it in other applications (for example, to exchange data between your FastText model and your Word2Vec model since .vec file is similar to .txt file generated by Word2Vec). And the .bin file could be used if you want to continue training the vectors or to restart the optimization.

like image 45
Amir Avatar answered Oct 14 '22 00:10

Amir