训练出来的模型能不能整合成一个文件?
codelast opened this issue · 3 comments
codelast commented
训练出来的模型有4个文件:
args.bin
dict.bin
input.matrix
output.matrix
load 模型的时候,load 的是这4个文件所在的目录,这4个文件缺一不可。这样在单机使用的情况下没什么问题。
现在我想把这个模型放到一个 Map-Reduce job 中加载,这时就需要把4个模型整合成一个文件放到 distributed cache 中。
4个文件有没有办法整合成一个文件?
谢谢。
jimichan commented
能的,最新版本的里面有这个api,可以保存到单体文件
发自我的iPhone
…------------------ 原始邮件 ------------------
发件人: Darran Zhang <notifications@github.com>
发送时间: 2020年7月24日 15:22
收件人: mayabot/mynlp <mynlp@noreply.github.com>
抄送: Subscribed <subscribed@noreply.github.com>
主题: 回复:[mayabot/mynlp] 训练出来的模型能不能整合成一个文件? (#24)
jimichan commented
/**
* 保存文件到单一文件
*/
fun saveModelToSingleFile(file: File) {
if (!file.exists()) {
file.createNewFile()
}
assert(file.isFile)
file.outputStream().channel.use { channel ->
args.save(channel)
dict.save(channel)
channel.writeBoolean(input is QuantMatrix)
channel.writeBoolean(output is QuantMatrix)
input.save(channel)
output.save(channel)
}
}
发自我的iPhone
…------------------ 原始邮件 ------------------
发件人: Darran Zhang <notifications@github.com>
发送时间: 2020年7月24日 15:22
收件人: mayabot/mynlp <mynlp@noreply.github.com>
抄送: Subscribed <subscribed@noreply.github.com>
主题: 回复:[mayabot/mynlp] 训练出来的模型能不能整合成一个文件? (#24)
codelast commented
@jimichan 感谢回复。
我引用的依赖是:
<dependency>
<groupId>com.mayabot.mynlp</groupId>
<artifactId>fastText4j</artifactId>
<version>3.1.0</version>
</dependency>
没有 saveModelToSingleFile() 方法。是版本旧了?
我看到源码里有的。
Update:
自问自答:是的,版本旧了,应该使用 3.1.7 而不是 3.1.0
建议更新一下 README.md 中的 Maven 说明,把 3.1.0 改成 3.1.7