facebook更新FastText工程--新增模型压缩论文的实现模型大小缩减80%--文本分类词向量fasttext

Facebook 于北京时间2019年6月25日更新FastText代码,增加了FastText.ZIP:Compressing Text Classification Models论文的模型压缩实现,论文地址https://arxiv.org/abs/1612.03651

压缩后的模型能减小到10M以内

一、新版函数的变化

1.classification text的supervisor()变为train_supervisor(),只能输入模型的学习参数以及训练集文件,去掉直接保存模型的功能

注:词向量训练的函数也有修改,可以自行查看github代码

旧版代码:

新版代码:

2.保存模型要用save_model()

二、预测结果的改变

旧版中预测单个文本,也必须把分词结果保存在list中, 新版可以直接单句string形式输入也可以list,同时输出标签会带有前缀“__label__”

预测结果如下:

输入string:(('__label__测试',), array([1.00000727]))

或者输入list:([['__label__测试']], array([[1.00000727]]))

二、对训练好的模型进行压缩

import fasttext

old_model_path = 'clf.model.bin'
source_model_path = model_path
old_model = fasttext.load_model(source_model_path)

data_path = 'train.txt'

'''compress'''
print('begin compress')  #参数retrain=True的话需要输入原来的训练数据,会重新训练,模型不重新训练,还有其他参数未研究
old_model.quantize()
print('compress finish')
old_model.save_model(model_path.replace('.bin', '.ftz'))
print('save finished')

压缩后文件大小:

注意:旧版本的代码训练的模型由于与新版本不一样,要重新训练,否则load_model旧模型会报错
ValueError: /home/mnt/ppt_project_data/ppt_fasttext_clf_files/online_model/clf_ppt.model.bin has wrong file format!

Process finished with exit code 1

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值