我最近在CoreML docs网站上偶然发现了一篇文章,该文章讨论了用于预测文本的递归模型的实现。我正在尝试复制此代码,或者至少复制类似内容,并在作者如何将模型中的“stateIn”输入定义为可选内容方面遇到了麻烦。有没有人有任何信息可以指出我正确的方向?我正在使用keras构建网络,并计划在培训后转换为CoreML。

本文中使用的过程将完全适用于我的模型。输出最后一层的状态并将其传递回序列中下一项的模型似乎是一种不错的方法,但是我不清楚使用CoreML如何实现这一点。

任何信息或帮助将不胜感激!

提前谢谢

链接到文章:
https://developer.apple.com/documentation/coreml/core_ml_api/making_predictions_with_a_sequence_of_inputs

最佳答案

看起来好像coremltools Keras转换器无法让您指定哪些输入是可选的。

但是,proto files that contain the MLModel definition表示Model对象具有ModelDescription,该ModelDescription具有用于输入的FeatureDescription对象的数组,该对象具有FeatureType对象,该对象具有isOptional布尔值。

所以这样的事情应该工作:

mlmodel = keras.convert(...)

spec = mlmodel._spec
spec.description.input[1].type.isOptional = True

mlmodel.save(...)

我实际上没有尝试过,因此确切的语法可能有所不同,但这是一般的想法。

关于ios - 在CoreML中为循环网络定义可选输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48418651/

10-12 02:07