allennlp 将预训练的二进制文件添加到嵌入中

wqnecbli  于 2个月前  发布在  其他
关注(0)|答案(6)|浏览(46)

目前,嵌入仅接受.txt和.hdf5作为预训练嵌入格式。是否可以将.bin格式添加为预训练格式,因为.bin是最常见的预训练格式。谢谢!

slmsl1lt

slmsl1lt1#

这当然是可能的,而且不应该太困难。欢迎贡献!

wz3gfoph

wz3gfoph2#

xdwang0726,你能给出一个明确的例子,说明你提议添加支持的文件类型吗?我们不确定.bin是什么,在任何人开始实施添加支持之前,了解这个格式对我们来说是有好处的。

egdjgwm8

egdjgwm83#

我遇到了一个问题(不是在AllenNLP中,而是在Python中普遍存在的问题),那就是.bin文件无法在Python中加载,因为它们是在与我使用的操作系统不同的操作系统上创建的。主要是Windows与Linux之间的问题,但我在WSL与纯Linux之间也遇到过问题。因此,任何实现都可能需要处理这个问题。
此外,@schmmd,我认为他提到的.bin是指来自Python的pickle模块的pickled数据。尽管这可能是完全错误的。

6uxekuva

6uxekuva4#

例如,谷歌预训练的word2vec在.bin文件中(GoogleNews-vectors-negative300.bin)。

jhiyze9q

jhiyze9q5#

我看到你指出的.bin文件来自https://code.google.com/archive/p/word2vec/downloads
我想起了2016年我在gensim中尝试过word2vec。
我可以看到gensim加载bin文件的注解表明它只是一种基于C的Word2Vec格式。
具体可以参考:https://github.com/RaRe-Technologies/gensim/blob/ee3d6fd1e33fe39fc7aa31ebd56bd63b1a2a2ed6/gensim/models/keyedvectors.py#L1841 和 https://github.com/RaRe-Technologies/gensim/blob/ee3d6fd1e33fe39fc7aa31ebd56bd63b1a2a2ed6/gensim/models/keyedvectors.py#L1841
你能指出其他这种.bin向量的情况吗?或者在哪里可以弄清楚这个bin到底是什么格式的?它是像@gabeorlanski提到的pickle那样吗(在上述word2vec的情况下不是)?
人们总是可以编写一次性脚本将word2vec bin转换为所需的hdf5或/和文本。
我打算在接下来的一周里开始处理这个问题,所以才有了这个问题。

tsm1rwdh

tsm1rwdh6#

我也对完成这个任务感兴趣,但如果没有明确的格式指示,我不知道我们该如何做。

相关问题