2017-10-03 4 views
0

J'ai converti le modèle Caffe avec LSTM en CoreML via coremltools. Maintenant j'essaye de l'exécuter. Mais, je ne peux pas trouver un moyen de traiter toute séquenceSéquence de processus par LSTM (Core ML)

np.ndarray((7, #sequence 
      1, # batch 
      120, 1, 1)) #items dims 

parce que je ne peux pas trouver un moyen de mettre seulement les initiales de l'état caché (LSTM_1_c_in) et de l'histoire initiale (LSTM_1_h_in) et automatiquement utilise les états/résultats précédents lors du traitement de l'élément de séquence suivant.

Il fonctionne par l'intermédiaire de la méthode de redémarrer manuellement 'prédire' avec réglage manuel LSTM_1_c_in et LSTM_1_h_in de sorties précédentes (le modèle reutrns LSTM_1_h_out et LSTM_1_c_out respectivement).

Est-il possible de traiter toute la séquence via 1 cycle?

P.S. les façons d'utiliser Swift sont également acceptables.

Répondre

0

Par exemple, LSTM a num_outputs égal à 3.

  • Si LSTM obtient l'histoire initiale et de l'Etat comme np.ndarray((1,1,3)) il Proccess un seul élément de la séquence. Ce fut mon erreur

  • Si LSTM obtient l'histoire initiale et de l'État comme np.ndarray((3)) il traitera toute la séquence (mais il retourne seul résultat de traitement dernier élément sans histoire) .