1. 程式人生 > >自頂向下分析一個簡單的語音識別系統(四)

自頂向下分析一個簡單的語音識別系統(四)

上回我們分析了模型的初始化,花開兩朵各表一枝,本回我們說一下上回提到的set_dirs.py。該檔案結構如下圖所示:

Created with Raphaël 2.1.0get_home_dirget_data_dir/get_conf_dir/get_model_dirget_relevant_directories

其中,
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函式。