TypeError: array ([[0,46872085, 0,67374235, 1.0218339, 0,13210179, 0,5440686, 0,9140083, 0,58720225, 0,2199381]], dtype = float32) bukan JSON serializable
Kesalahan yang disebutkan di atas terlempar ketika saya mencoba meneruskan daftar data ke model.predict () ketika saya mengharapkan respons dalam format json.
> 1 json_file = open('model.json','r')
> 2 loaded_model_json = json_file.read()
> 3 json_file.close()
> 4 loaded_model = model_from_json(loaded_model_json)
> 5 #load weights into new model
> 6 loaded_model.load_weights("model.h5")
> 7 loaded_model.compile(optimizer='adam', loss='mean_squared_error')
> 8 X = [[874,12450,678,0.922500,0.113569]]
> 9 d = pd.DataFrame(X)
> 10 prediction = loaded_model.predict(d)
> 11 return jsonify(prediction)
Tapi untungnya menemukan petunjuk untuk menyelesaikan kesalahan yang melempar. Serialisasi objek hanya berlaku untuk konversi berikut Pemetaan harus dengan cara mengikuti objek - array dict - daftar string - string integer - integer
Jika Anda gulir ke atas untuk melihat nomor baris 10 prediksi = loaded_model.predict (d) di mana baris kode ini menghasilkan output tipe array data, ketika Anda mencoba mengubah array ke format json, itu tidak mungkin.
Akhirnya saya menemukan solusinya hanya dengan mengonversi keluaran yang diperoleh ke daftar jenis dengan mengikuti baris kode
prediction = loaded_model.predict (d)
listtype = prediction.tolist () return jsonify (listtype)
Bhoom! akhirnya mendapat hasil yang diharapkan,
json
modul. Tetapinumpy.ndarray
bukan tipe yangjson
tahu bagaimana menangani. Anda harus menulis serializer Anda sendiri, atau (lebih sederhana) hanya meneruskanlist(your_array)
ke apa pun yang menulis json.