为深度学习准备数据集

时间:2019-11-13 12:04:12

标签: python deep-learning dataset

iam试图准备一些wav文件的数据集以建立模型,但它给了我同样的错误 1-我有mp4文件并将其转换为wav文件 2-我有一个带有某些声音信息的CSV文件 3-我准备了一个新的csv文件,其中将包含当前csv和wav文件的mfcc的功能,但是此过程在此阶段仍然存在

def prepare_dataset(data_csv):
data = pd.read_csv(data_csv)
path = "wavfiles/"
X = []
y = []

for idx, vid in enumerate(os.listdir(path)):
    print(idx, vid)
    x1 = get_fbank_features(path + vid)
    x2 = np.array(pd.get_dummies(data["x1"][idx]))
    x3 = np.array(pd.get_dummies(data["x2"][idx]))

    features = list(x1) + list(x2) + list(x3)
    target = data["y"][idx]

    X.append(features)
    y.append(target)
return X, y

在函数之后,我将其调用并将其转换为numpy数组

X, y = prepare_dataset("new_output.csv")
X = np.array(X)
y = np.array(y)

并给出错误

    38 7.wav
WARNING:root:frame length (1103) is greater than FFT size (512), frame will be truncated. Increase 
NFFT 
to avoid.
 ---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-14-4e13a1b8d279> in <module>
----> 1 X, y = prepare_dataset("new_output.csv")
      2 X = np.array(X)
      3 y = np.array(y)

<ipython-input-12-9b4b2b7ac9ba> in prepare_dataset(data_csv)
      8         print(idx, vid)
      9         x1 = get_fbank_features(path + vid)
---> 10         x2 = np.array(pd.get_dummies(data["M/F/G"][idx]))
     11         x3 = np.array(pd.get_dummies(data["country"][idx]))
     12 

~\Anaconda3\lib\site-packages\pandas\core\series.py in __getitem__(self, key)
    866         key = com.apply_if_callable(key, self)
    867         try:
--> 868             result = self.index.get_value(self, key)
    869 
    870             if not is_scalar(result):

~\Anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_value(self, series, key)
   4373         try:
   4374             return self._engine.get_value(s, k,
-> 4375                                           tz=getattr(series.dtype, 'tz', None))
   4376         except KeyError as e1:
   4377             if len(self) > 0 and (self.holds_integer() or self.is_boolean()):

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_value()

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_value()

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.Int64HashTable.get_item()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.Int64HashTable.get_item()

KeyError: 38

0 个答案:

没有答案