Sidekit. Что такое feature_list в sidekit.EM_split ()? - PullRequest
0 голосов
/ 04 января 2019

Я новичок в использовании 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 Ответ

0 голосов
/ 18 февраля 2019

Да, вы правы. 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']>

Следующее изображение взято из документации предыдущей версии , где вы можете найти всю упомянутую выше информацию с небольшими изменениями: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...