问题描述
我不确定是否打算这样做,但是export.pkl
中的learn.export()
约为471 MB,这在某些应用程序中的部署有些许限制。
SaveModelCallback
中的模型本身仅为131 KB
,而我只想使用Learner
来应用相同的变换/处理(归一化,FillMissing,分类)。
有这么大的原因吗?我也已经确认
learn.xb
=
(无)
learn.yb
=
(无)
解决方法
必须pip install wwf
见https://forums.fast.ai/t/tabularlearner-export-pkl-from-learn-export-is-very-large/81251/2
from wwf.tab.export import *
-
我们将模型手动保存在学习器中
torch.save(learn.model,f'{model_dir}/2_{REF}_LEARNER_MODEL.pt')
-
我们也导出表格对象
to.export(f'{model_dir}/3_{REF}_TABULAR_OBJECT.pkl')
-
我们加载表格对象
to_new = load_pandas(f'{model_dir}/3_{REF}_TABULAR_OBJECT.pkl')
to_new = to_new.train.new(df[:20])
to_new.process()
- 我们加载模型
model_2 = torch.load(f'{model_dir}/2_{REF}_LEARNER_MODEL.pt')
learn_new = TabularLearner(dls_new,model)
- 我们做推论
row,clas,probs = learn_new.predict(df.iloc[0])
row.show()
probs
节省大量资金:
- 型号:135 kb
- 管状对象:6 kb
vs。
- learn.export()417 mb