@@ -35,7 +35,8 @@ def ctc_greedy_decoder(probs_seq, vocabulary):
3535 :return: Decoding result string.
3636 :rtype: basestring
3737 """
38- return swig_decoders .ctc_greedy_decoder (probs_seq .tolist (), vocabulary )
38+ result = swig_decoders .ctc_greedy_decoder (probs_seq .tolist (), vocabulary )
39+ return result .decode ('utf-8' )
3940
4041
4142def ctc_beam_search_decoder (probs_seq ,
@@ -69,9 +70,11 @@ def ctc_beam_search_decoder(probs_seq,
6970 results, in descending order of the probability.
7071 :rtype: list
7172 """
72- return swig_decoders .ctc_beam_search_decoder (probs_seq .tolist (), vocabulary ,
73- beam_size , cutoff_prob ,
74- cutoff_top_n , ext_scoring_func )
73+ beam_results = swig_decoders .ctc_beam_search_decoder (
74+ probs_seq .tolist (), vocabulary , beam_size , cutoff_prob , cutoff_top_n ,
75+ ext_scoring_func )
76+ beam_results = [(res [0 ], res [1 ].decode ('utf-8' )) for res in beam_results ]
77+ return beam_results
7578
7679
7780def ctc_beam_search_decoder_batch (probs_split ,
@@ -111,6 +114,11 @@ def ctc_beam_search_decoder_batch(probs_split,
111114 """
112115 probs_split = [probs_seq .tolist () for probs_seq in probs_split ]
113116
114- return swig_decoders .ctc_beam_search_decoder_batch (
117+ batch_beam_results = swig_decoders .ctc_beam_search_decoder_batch (
115118 probs_split , vocabulary , beam_size , num_processes , cutoff_prob ,
116119 cutoff_top_n , ext_scoring_func )
120+ batch_beam_results = [
121+ [(res [0 ], res [1 ].decode ("utf-8" )) for res in beam_results ]
122+ for beam_results in batch_beam_results
123+ ]
124+ return batch_beam_results
0 commit comments