FastText: AttributeError: type object 'FastText' has no attribute 'reduce_model'
FastText: AttributeError: type object 'FastText' has no attribute 'reduce_model'
我使用 FastText 生成词嵌入。我从 https://fasttext.cc/docs/en/crawl-vectors.html 下载预训练模型
该模型有 300 个维度,但我想要 100 个维度,所以我使用 reduce model 命令,但出现错误
import gensim
model = gensim.models.fasttext.FastText.load_fasttext_format('cc.th.300.bin')
gensim.models.fasttext.utils.reduce_model(model, 100)
我有 AttributeError: module 'gensim.utils' has no attribute 'reduce_model'
这是 FastText 文档中的代码
import fasttext
import fasttext.util
ft = fasttext.load_model('cc.en.300.bin')
fasttext.util.reduce_model(ft, 100)
如何修复此错误,我找不到新命令的任何文档。
谢谢
模块 gensim.fasttext.utils
没有函数 reduce_model()
,如错误消息所述。
这不是 common/standard 操作 - 这只是 Facebook 包装器决定实施的操作。 (根据 source code here,它看起来像是在向量的一小部分子样本上使用标准 PCA。)
为什么要降维?
请注意,您将失去一些模型的表现力,如果您能够加载模型来进行缩减,那么它对您的 RAM 来说并不算太大。如果您的主要目标是节省模型大小,可能有更好的方法,例如丢弃更多不常见的单词,具体取决于您的原因。
如果您绝对需要执行此类缩减,一些选项可能是:
- 使用 Facebook 包装器执行此操作,然后将结果保存在 Gensim 可以加载的表单中。
- 为 Gensim 模型重新实现相同的操作,也许使用 FB 代码作为指导。 (你必须确保 Gensim 模型以它考虑原始维度的所有方式进行更新,这可能很棘手——启用事后模型收缩从来都不是 Gensim 的目标或功能。)
我使用 FastText 生成词嵌入。我从 https://fasttext.cc/docs/en/crawl-vectors.html 下载预训练模型 该模型有 300 个维度,但我想要 100 个维度,所以我使用 reduce model 命令,但出现错误
import gensim
model = gensim.models.fasttext.FastText.load_fasttext_format('cc.th.300.bin')
gensim.models.fasttext.utils.reduce_model(model, 100)
我有 AttributeError: module 'gensim.utils' has no attribute 'reduce_model'
这是 FastText 文档中的代码
import fasttext
import fasttext.util
ft = fasttext.load_model('cc.en.300.bin')
fasttext.util.reduce_model(ft, 100)
如何修复此错误,我找不到新命令的任何文档。
谢谢
模块 gensim.fasttext.utils
没有函数 reduce_model()
,如错误消息所述。
这不是 common/standard 操作 - 这只是 Facebook 包装器决定实施的操作。 (根据 source code here,它看起来像是在向量的一小部分子样本上使用标准 PCA。)
为什么要降维?
请注意,您将失去一些模型的表现力,如果您能够加载模型来进行缩减,那么它对您的 RAM 来说并不算太大。如果您的主要目标是节省模型大小,可能有更好的方法,例如丢弃更多不常见的单词,具体取决于您的原因。
如果您绝对需要执行此类缩减,一些选项可能是:
- 使用 Facebook 包装器执行此操作,然后将结果保存在 Gensim 可以加载的表单中。
- 为 Gensim 模型重新实现相同的操作,也许使用 FB 代码作为指导。 (你必须确保 Gensim 模型以它考虑原始维度的所有方式进行更新,这可能很棘手——启用事后模型收缩从来都不是 Gensim 的目标或功能。)