接著上回結束的地方,本回我們來分析sparse_tuple_to_texts函式和ndarray_to_text函式。首先分析sparse_tuple_to_texts函式。
給出**如下:
def
sparse_tuple_to_texts
(tuple):
indices = tuple[0]
values = tuple[1]
results = [''] * tuple[2][0]
for i in range(len(indices)):
index = indices[i][0]
c = values[i]
c = ' '
if c == space_index else chr(c + first_index)
results[index] = results[index] + c
# list of strings
return results
由前文可知indices是乙個[[a b][c d]]型別的陣列(其中a、c表示第幾個seq,b、d表示該seq中的第幾個time_slice),values對應著所有seq的數值表示,tuple[2][0]為seq個數。result返回資料資料夾中test目錄下標註文字的資訊。
這個函式很簡單,只是將輸入的數值型陣列value轉化為字串輸出,**如下:
def
ndarray_to_text
(value):
results = ''
for i in range(len(value)):
results += chr(value[i] + first_index)
return results.replace('`', ' ')
至此,我們的語音識別系統的**基本分析完了。但是細心的小夥伴可能已經想問了ctc loss是怎麼定義的?adamoptimizer又是怎麼定義的?後文我們將對這兩個部分進行相關說明。 自頂向下分析乙個簡單的語音識別系統(二)
上回咱們說到專案的目錄以及各個檔案的作用,這回我們自頂向下開始分析該專案。專案開始於tf train ctc.py檔案。如下圖所示 if name main import click use click to parse command line arguments click.command cl...
簡述自頂向下的語法分析
在我們得到了context free grammar 之後,下一步就要將它轉換成一棵語法分析樹了,語法分析樹使得我們的編譯器能夠識別輸入串是否符合我們的context free grammar 中文翻譯為上下文無關語言 有兩種方法能夠將context free grammar轉換為語法分析樹。今天我...
自頂向下的語法分析(修改)
自頂向下語法分析可以被看作是為輸入串構造語法分析樹的問題,它從語法分析樹的根結點開始 按照先序遍歷建立這棵語法分析樹的各個結點。自頂向下語法分析也可以被看作尋找輸入串的最左推導的過程。遞迴下降的語法分析 乙個遞迴下降語法分析程式由一組過程組成,每個非終結符號有乙個對應的過程。程式的執行從開始符號對應...