FastAI V2:来自Learn.export的TabularLearner export.pkl非常大

问题描述

我不确定是否打算这样做,但是export.pkl中的learn.export()约为471 MB,这在某些应用程序中的部署有些许限制。

SaveModelCallback中的模型本身仅为131 KB,而我只想使用Learner来应用相同的变换/处理(归一化,FillMissing,分类)。

有这么大的原因吗?我也已经确认

learn.xb = (无)

learn.yb = (无)

解决方法

原始帖子:test_proportions_2indep

必须pip install wwfhttps://forums.fast.ai/t/tabularlearner-export-pkl-from-learn-export-is-very-large/81251/2

from wwf.tab.export import *

  1. 我们将模型手动保存在学习器中 torch.save(learn.model,f'{model_dir}/2_{REF}_LEARNER_MODEL.pt')

  2. 我们也导出表格对象 to.export(f'{model_dir}/3_{REF}_TABULAR_OBJECT.pkl')

  3. 我们加载表格对象

to_new = load_pandas(f'{model_dir}/3_{REF}_TABULAR_OBJECT.pkl')
to_new = to_new.train.new(df[:20])
to_new.process()
  1. 我们加载模型
model_2 = torch.load(f'{model_dir}/2_{REF}_LEARNER_MODEL.pt')
learn_new = TabularLearner(dls_new,model)
  1. 我们做推论
row,clas,probs = learn_new.predict(df.iloc[0])
row.show()
probs

节省大量资金:

  • 型号:135 kb
  • 管状对象:6 kb

vs。

  • learn.export()417 mb