Sidekit. Что такое feature_list в sidekit.EM_split()?
Я новичок в использовании sidekit для распознавания докладчиков, я столкнулся с проблемой, когда мне нужно использовать "feature_list".feature_list=ubm_list, но что находится в списке возможностей? Он говорит, что содержит список файлов функций, с которыми можно обучить GMM. Но что должно быть в файлах объектов?
ubm=sk.Mixture()
ubm_list="/home/david/Documents/development_set/anthonyschaller-20071221-/list"
ubm.EM_split(features_server=server,feature_list=ubm_list,
distrib_nb=1024,iterations=(1,2,2,4,4,4,4,8,8,8,8,8,8),
num_thread=10,llk_gain=0.01,save_partial=False,ceil_cov=10,
floor_cov=1e-2)
1 ответ
Да, ты прав.. ubm_list
это список файлов функций, которые, вероятно, имеют .h5
расширение. Так что ваши ubm_list
должно быть:
import os
feat_dir = "/home/david/Documents/development_set/anthonyschaller-20071221-/list"
ubm_list = os.listdir(feat_dir)
И согласно вашему второму вопросу, feat_dir
должен содержать файлы функций формата HDF5 (файлы с расширением.h5). Вы можете открыть один из этих файлов, используя h5py
модуль для изучения. Я сделал это с одним из моих, и вот что я узнал:
>>> import h5py
>>>
>>> hf = h5py.File('/media/anwar/SIDEKIT-1.3/feat/S01.h5', 'r')
>>> hf.keys()
<KeysViewHDF5 ['S01.wav', 'compression']>
>>> # explore the second key 'compression'
>>> k2 = hf.get('compression')
>>> type(k2)
<class 'h5py._hl.dataset.Dataset'>
>>> #explore the first key 'S01.wav'
>>> k1 = hf.get('S01.wav')
>>> k1.keys()
<KeysViewHDF5 ['cep', 'cep_header', 'cep_mean', 'cep_min_range', 'cep_std',
'energy', 'energy_header', 'energy_mean', 'energy_min_range', 'energy_std',
'fb', 'fb_header', 'fb_mean', 'fb_min_range', 'fb_std', 'vad']>
Следующее изображение взято из документации предыдущей версии, где вы можете найти всю упомянутую выше информацию с небольшими изменениями: