将Keras模型,权重和字符索引加载到其他python应用程序中

时间:2019-02-12 05:51:44

标签: machine-learning keras

我已经针对角色训练了Keras LSTM分类模型,保存了其模型架构和权重,现在想将其加载到一个可以与训练系统分开运行的单独应用程序中,并在其上粘贴REST端点,并且然后能够通过REST做出预测...

我还没有发现-也许是可怜的googlefu-提及其他人的操作方式,而我遇到的主要模糊之处是如何加载原始文本索引和相应的标签索引。

1="a",2="g",3=" ",4="b"的索引,以及["green","blue","red","orange"]的“原始”标签,在标签进行1-hot编码之前...

这就是我的理解:

  • 权重基于提供给原始训练模型的数字输入
  • 数字输入和生成的索引基于用于训练的特定数据集
  • 表示分类的模型输出基于添加原始数据集标签的顺序-例如,如果green在训练标签的位置0,并且在训练标签的位置1实际的“运行时”标签,那么那将行不通...是吗?

这意味着重用模型+权重不仅需要实际的模型架构和权重,而且还需要输入和输出数据的索引...

对吗?还是我缺少重要的东西?

因为那是...如果是这种情况,除了手动执行之外,是否有其他方法可以保存和加载索引? 因为如果需要手动完成,那么我们就会失去我们可以在训练系统中使用的keras预处理功能(例如Tokenizernp_utils.to_categorically)的好处... < / p>

有人有做这种活动的模式吗?

我目前正在按照以下方式进行操作:

  • 在训练期间保存X索引和Y标签数组以及模型架构和权重
  • 在预测应用程序中,使用架构和权重加载并重新创建模型
  • 有一个自定义类,可以根据X索引对输入的单词进行标记,将其填充到正确的长度,等等
  • 做出预测
  • 采用预测并将最高概率项映射到原始Y标签数组,从而找出预测的标签是什么

0 个答案:

没有答案