2017-08-29 3 views
0

Je tente de convertir le Keras OCR example en un modèle CoreML.Alternative à la couche Lambda dans Keras

Je peux déjà former mon modèle légèrement modifié et tout semble bon en Python. Mais maintenant, je veux convertir le modèle en CoreML pour l'utiliser dans mon application iOS.

Le problème est que le format de fichier CoreML ne peut pas prendre en charge les couches Lambda. Je ne suis pas un expert dans ce domaine, mais pour autant que je comprends, la couche Lambda ici est utilisée pour calculer la perte en utilisant ctc_batch_cost(). La couche est créée autour de la ligne 464. Je suppose que ceci est utilisé pour une plus grande précision par rapport aux fonctions de perte «intégrées».

Est-il possible de réécrire la création de modèle pour l'adapter à l'ensemble de couches pris en charge par CoreML? Je n'ai aucune idée du type de couche de sortie à utiliser pour le modèle.

Répondre

1

Les fonctions de coût ne sont généralement pas incluses dans le modèle CoreML, puisque CoreML ne fait l'inférence que lorsque les fonctions de coût sont utilisées pour la formation. Alors dépouiller cette couche avant d'exporter le modèle et vous devriez être bon à faire.

+0

Merci beaucoup! CoreML accepte maintenant le modèle à ce stade. Je cours dans l'erreur suivante quelques lignes plus tard, mais je vois si je peux gérer cela :) – mangerlahn