替代 Keras 中的 Lambda 层

Alternative to Lambda layer in Keras

我尝试将 Keras OCR example 转换为 CoreML 模型。

我已经可以训练我稍微修改过的模型了,在 Python 中一切看起来都不错。但现在我想将模型转换为 CoreML,以便在我的 iOS 应用程序中使用它。

问题是,CoreML 文件格式不支持 Lambda 层。 我不是这方面的专家,但据我了解,这里的 Lambda 层是使用 ctc_batch_cost() 来计算损失的。 该图层是在第 464 行周围创建的。 我想这是为了比 "build in" 损失函数更精确。

有没有什么方法可以重写模型创建以适应 CoreML 支持的层集? 我不知道模型要使用哪种输出层类型。

成本函数通常不包含在 CoreML 模型中,因为 CoreML 仅进行推理,而成本函数用于训练。因此,在导出模型之前去掉该层,这样就可以了。