如何以dict格式标记数据以为深度学习训练和测试做准备?

问题描述

我有3222个.wav数据,其结构如下所示:

final = {'a0001.wav':Numpy数组,'a0002.wav':Numpay数组,...,'a3222.wav':Numpy数组}

*所有Numpy数组大小均为99X160

我的问题是如何添加每个.wav的标签,例如'a0001.wav'标签为1或'a0002.wav'标签为0,依此类推。 我该如何分割最终标记的数据以训练和测试零件?

下面是完整代码

    import glob
from scipy.io import wavfile
import numpy as np

# Data augmentation

def augmentation(signal,split_size):
    split_signal={}
    split_list=[j*split_size for j in range(int(len(signal)/split_size))]
    for item in range(len(split_list)-1): 
        split_signal[item]=signal[int(split_list[item]):int(split_list[item+1])]
    Num_split=int(len(signal)/split_size)
    return split_signal,Num_split

# Variable defenition
aug_sig={}
final={}

aug_len=160

# Import file
files = glob.glob('*.wav')
for item in files:
    fs,data = wavfile.read(item)
    aug_sig[item]=augmentation(data[int(len(data)/2)-8000:int(len(data)/2)+8000],aug_len)
    arr=[]
    for i in range(aug_sig[item][1]-1):
        arr=np.concatenate((arr,aug_sig[item][0][i].transpose()),axis=0)
        
        
    final[item]=arr.reshape(aug_sig[item][1]-1,aug_len)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)