ValueError: Ошибка при проверке ввода: ожидалось, что input_1 будет иметь 4 измерения, но получил массив с формой (1, 216, 1) - PullRequest
0 голосов
/ 07 марта 2020

Я использую следующий код:

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)

Теперь, как правильно расширить размеры ???

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...