ValueError:检查输入时出错:预期input_1具有4维,但数组的形状为(1,2,1,1)

时间:2020-03-07 18:45:33

标签: python machine-learning keras artificial-intelligence prediction

我使用以下代码:

json_file = open('model_final.json', 'r')
loaded_model_json = json_file.read()
json_file.close()
loaded_model = model_from_json(loaded_model_json)

loaded_model.load_weights("model_weights_final.h5")

opt = keras.optimizers.rmsprop(lr=0.00001, decay=1e-6)
loaded_model.compile(loss='categorical_crossentropy', optimizer=opt, metrics=['accuracy'])

X, sample_rate = librosa.load('test_liza.wav'
                                  , res_type='kaiser_fast'
                                  , duration=2.5
                                  , sr=44100
                                  , offset=0.5
                                  )

sample_rate = np.array(sample_rate)
mfccs = np.mean(librosa.feature.mfcc(y=X, sr=sample_rate, n_mfcc=13), axis=0)
newdf = pd.DataFrame(data=mfccs).T
print(newdf)

newdf

         0          1          2         3         4          5          6    \
0 -19.610844 -19.114281 -18.636919 -18.41662 -17.36743 -16.672791 -16.505274   

     7          8          9    ...        206        207        208  \
0 -16.104017 -14.565969 -13.780432  ... -13.323782 -14.066868 -13.496386   

     209        210        211        212        213       214       215  
0 -15.001273 -14.980046 -14.926601 -15.364696 -13.737248 -8.044724 -3.179077  

[1 rows x 216 columns]

现在,当我运行下面的代码时,我将错误作为被调查标题中的一个

newdf = np.expand_dims(newdf, axis=2)
newpred = loaded_model.predict(newdf,
                                   batch_size=16,
                                   verbose=1)

现在如何以正确的方式扩展尺寸?

0 个答案:

没有答案