machine-learning - 低 RAM 环境中 Fasttex 的 OOV(词汇表外)词嵌入
问题描述
有没有办法使用 fasttext 获取 OOV(词汇表外)单词的向量,但不将所有嵌入加载到内存中?
我通常在低 RAM 环境(<10GB RAM)中工作,因此将 7GB 模型加载到内存中是不可能的。要在不使用那么多 RAM 的情况下使用词嵌入,可以.vec
逐行读取(通常是纯文本)文件并将其存储到数据库中(稍后您可以访问该数据库以请求词向量)。但是,要获得带有 fasttext 的 OOV 向量,您需要使用这些.bin
文件并将其加载到内存中。有没有办法避免加载整个.bin
文件?
解决方案
对我有用的是设置一个巨大的交换分区来允许模型加载,然后我将向量的大小从 300 减少到 100 以使模型完全适合内存。
推荐阅读
- python - 在 python gdb 脚本中索引 c++ 向量
- reactjs - 在我的应用程序中获取用于设置 MapView 的用户坐标会生成未定义的值
- java - 用于异步处理的 Akka?
- c - 为什么 getline 在将 `-wrap=malloc` 传递给链接器时调用 glibc 的 malloc 而不是 __wrap_malloc?
- multithreading - 如何在 Rust 的 for 循环中添加线程?
- c# - MyClassLibrary.dll 看不到我的 Assembly.resources.dll
- c - AT-Commands ESP8266 01: AT+CIPSTART: How to fix response Link type Error / Can't connect with TCP
- excel - 从 7 个输入文件在一个 Excel 文件“报告”中提供多张工作表
- javascript - 如何在 Vuejs v-for 中迭代 GraphQL 聚合节点
- python - 如何在 pandas 中合并和格式化包含 int 数据类型的多个列?