首页 文章

在CoreML中为循环网络定义可选输入

提问于
浏览
1

我最近偶然发现了一篇关于CoreML docs网站的文章,该文章讨论了用于预测文本的循环模型的实现 . 我试图复制这个,或者至少是类似的东西,并且已经碰到了作者如何能够将模型中的“stateIn”输入定义为可选的 . 有没有人有任何可能指向我正确方向的信息?我正在使用keras构建网络,并计划在培训后转换为CoreML .

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

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

提前谢谢

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

1 回答

  • 1

    它看起来不像coremltools Keras转换器允许您指定哪些输入是可选的 .

    但是,proto files that contain the MLModel definition表示Model对象有一个ModelDescription,它有一个FeatureDescription对象数组用于输入,它有一个FeatureType对象,它有一个isOptional布尔值 .

    所以像这样的东西应该工作:

    mlmodel = keras.convert(...)
    
    spec = mlmodel._spec
    spec.description.input[1].type.isOptional = True
    
    mlmodel.save(...)
    

    我实际上并没有尝试这个,所以确切的语法可能会有所不同,但这是一般的想法 .

相关问题