Получил ошибку при адаптации динамиков с sidekit

Я пытаюсь реализовать адаптацию динамика UBM с помощью sidekit, когда получаю следующую ошибку.

Исключение: show enroll/something.wav отсутствует в файле HDF5.

У меня есть два файла «enroll» и «test» в файле «feat», который содержит соответственно функции (.h5) для обучения и тестирования, а мой enroll_idmap генерируется с аудио (.wav) только для обучения.

Вышеупомянутая ошибка возникает во время выполнения enroll_stat.accumulate_stat(…)

Может ли кто-нибудь сказать мне, что означает эта ошибка и как ее исправить?

import sidekit
import os    
import numpy as np    
import h5py

nbThread = 4     
NUM_GUASSIANS = 64     
BASE_DIR = "./Database/sidekit_data"


enroll_idmap = sidekit.IdMap.read(os.path.join(BASE_DIR, "task", "enroll_idmap.h5"))

ubm = sidekit.Mixture()    
model_name = "ubm_{}.h5".format(NUM_GUASSIANS)    
ubm.read(os.path.join(BASE_DIR, "ubm", model_name))

server_eval = sidekit.FeaturesServer(feature_filename_structure="./Database/sidekit_data            /feat/{}.h5",
                                    sources=None,
                                    dataset_list=["vad", "energy", "cep", "fb"],
                                    feat_norm="cmvn",
                                    global_cmvn=None,
                                    dct_pca=False,
                                    dct_pca_config=None,
                                    sdc=False,
                                    sdc_config=None,
                                    delta=True,
                                    double_delta=True,
                                    delta_filter=None,
                                    context=None,
                                    traps_dct_nb=None,
                                    rasta=True,
                                    keep_all_features=True)

print("Compute the sufficient statistics")

enroll_stat.accumulate_stat(ubm=ubm,
                            feature_server=server_eval,
                            seg_indices=range(enroll_stat.segset.shape[0]),
                            num_thread=nbThread
                            )

filename = "enroll_stat_{}.h5".format(NUM_GUASSIANS)
enroll_stat.write(os.path.join(BASE_DIR, "stat", filename))

print("MAP adaptation of the speaker models")

enroll_sv = enroll_stat.adapt_mean_map_multisession(ubm=ubm,
                                                    r=3       
                                                    )

print("Compute trial scores")

scores_gmm_ubm = sidekit.gmm_scoring(ubm=ubm,
                                     enroll=enroll_sv,
                                     ndx=test_ndx,
                                     feature_server=server_eval,
                                     num_thread=nbThread
                                    )
filename = "ubm_scores_{}.h5".format(NUM_GUASSIANS)
scores_gmm_ubm.write(os.path.join(BASE_DIR, "result", filename))

filename = "ubm_scores_explained_{}.txt".format(NUM_GUASSIANS)
fout = open(os.path.join(BASE_DIR, "result", filename), "a")
fout.truncate(0) #clear content
modelset = list(scores_gmm_ubm.modelset)
segset = list(scores_gmm_ubm.segset)
scores = np.array(scores_gmm_ubm.scoremat)
for seg_idx, seg in enumerate(segset):
    fout.write("Wav: {}\n".format(seg))
    for speaker_idx, speaker in enumerate(modelset):
        fout.write("\tSpeaker {}:\t{}\n".format(speaker, scores[speaker_idx, seg_idx]))
    fout.write("\n")
fout.close()

person yingzhi    schedule 15.04.2019    source источник
comment
Добро пожаловать в Stack Overflow! Пройдите тур и прочитайте справочный центр. , в частности как спрашивать и форматировать. Лучше всего здесь провести исследование, найти связанные темы на SO и попробовать. Проведя дополнительные исследования и поиск, опубликуйте минимальный, полный и поддающийся проверке пример вашей попытки и конкретно укажите, где вы застряли, которые могут помочь вам получить лучшие ответы (см. мои правки по вашему вопросу).   -  person help-info.de    schedule 15.04.2019
comment
Не кладите wav-файл в папку feat. Он пытается прочитать wav файл как файл feat.   -  person Nikolay Shmyrev    schedule 16.04.2019
comment
Николай, спасибо за ответ, но мои файлы wav и файлы feat разделены. Я думаю, что у меня проблема с idmap. enroll/something.wav — это правильный идентификатор моего enroll_idmap, но на что ссылается этот файл HDF5?   -  person yingzhi    schedule 17.04.2019
comment
И вот новая ссылка, где я добавил свой код idmap: заголовок stackoverflow.com/questions/55723847/   -  person yingzhi    schedule 17.04.2019
comment
Проблема исправлена ​​здесь "> stackoverflow.com/questions/55723847/   -  person yingzhi    schedule 23.04.2019