ValueError: all the input arrays must have same number of dimensions とエラーが出ました。
現在、犬の鳴き声と猫の鳴き声を分類するシステムを作っています。
index.pyには
from mfcc import * train_label = np.array([]) test_label = np.array([]) nfft = 2048 nceps = 12 train_data = np.empty((0, 12), float) test_data = np.empty((0, 12), float) file_name = "dog1.wav" feature = get_feature(file_name, nfft, nceps) if len(train_data) == 0: train_data = feature else: train_data = np.vstack((train_data, feature)) train_label = np.append(train_label) test_label = np.append(test_label,file_name) feature_train_data = np.hstack((train_label.reshape(len(train_label), 1), train_data)) feature_test_data = np.hstack((test_label.reshape(len(test_label), 1), test_data))
と、mfcc.pyには
def get_feature(wavfile,nfft,nceps): wav,fs = wavread(wavfile) t = np.arange(0.0,len(wav)/fs,1/fs) center =len(wav)/2 cuttime = 0.8 global wavdata wavdata = wav[int(center-cuttime/2*fs):int(center+cuttime/2*fs)] global time time = t[int(center-cuttime/2*fs):int(center+cuttime/2*fs)] ceps = mfcc(wavdata,nfft,fs,nceps) return ceps.tolist()
と書きました。
試しに犬の鳴き声をセットして、その音の特徴量がtrain_labelに記載されようにと実行しましたが
Traceback (most recent call last): File "sound.py", line 52, in <module> feature_train_data = np.hstack((train_label.reshape(len(train_label), 1), train_data)) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/core/shape_base.py", line 288, in hstack return _nx.concatenate(arrs, 1) ValueError: all the input arrays must have same number of dimensions
とエラーが出ました。
なぜこのようなエラーが起きるのでしょうか?配列の次元などを扱った覚えはないのですが。。。
http://webdatareport.hatenablog.com/entry/2016/11/06/161304 のサイトを参考にしてコードを書きました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。