自頂向下分析一個簡單的語音識別系統(四)
阿新 • • 發佈:2019-02-18
上回我們分析了模型的初始化,花開兩朵各表一枝,本回我們說一下上回提到的set_dirs.py。該檔案結構如下圖所示:
其中,
get_home_dir返回RNN-Tutorial所在目錄,程式碼如下:
def get_home_dir(home_dir=None):
if home_dir is None:
home_dir = os.environ['RNN_TUTORIAL' ]
return home_dir
get_data_dir/get_model_dir/get_conf_dir函式呼叫get_home_dir函式,進行相關操作得到相關目錄,程式碼如下:
def get_data_dir(data_dir=None, home_dir=None):
if data_dir is None:
data_dir = os.path.join(get_home_dir(home_dir=home_dir), 'data', 'raw')
# if the beginning of the data_dir is not '/' then prepend home_dir behind it
elif not os.path.isabs(data_dir):
data_dir = os.path.join(get_home_dir(home_dir=home_dir), data_dir)
return data_dir
def get_conf_dir(conf_dir=None, home_dir=None, debug=False):
if conf_dir is None:
conf_dir = os.path.join(get_home_dir(home_dir=home_dir), 'configs')
# Descend to the testing folder if debug==True
if debug:
conf_dir = os.path.join(conf_dir, 'testing')
return conf_dir
def get_model_dir(model_dir=None, home_dir=None):
if model_dir is None:
model_dir = os.path.join(get_home_dir(home_dir=home_dir), 'models')
return model_dir
get_relevant_directories函式呼叫上面的三個函式,返回相關的三個資料夾的路徑,程式碼如下:
def get_relevant_directories(
home_dir=None,
data_dir=None,
conf_dir=None,
debug=False):
home_dir = get_home_dir(home_dir=home_dir)
data_dir = get_data_dir(data_dir=data_dir, home_dir=home_dir)
conf_dir = get_conf_dir(conf_dir=conf_dir, home_dir=home_dir, debug=debug)
return home_dir, data_dir, conf_dir
本回主要內容結束,下回我們回到主故事線,開始分析run_model函式。