numerator = np.exp(out_vec)
denominator = np.sum(np.exp(out_vec))
out_vec = numerator/denominator
, çünkü np.exp(out_vec)
bir taşma hata var. Bu nedenle, np.exp()
'un üst sınırının ne olduğunu (el ile) işaretledim ve np.exp(709)
'un bir sayı olduğunu ancak np.exp(710)
'un np.inf
olarak kabul edildiğini gördüm.
RuntimeWarning: invalid value encountered in greater out_vec[out_vec > 709] = 709
ekledim çizgi nesi var:
out_vec[out_vec > 709] = 709 #prevent np.exp overflow
numerator = np.exp(out_vec)
denominator = np.sum(np.exp(out_vec))
out_vec = numerator/denominator
Şimdi, farklı bir hata alıyorum şu şekildedir: Böylece, taşma hatasını önlemek için denemek için, benim kod modifiye? Bu özel yanılgıya baktım ve bulduğum her şey, insanların hatayı nasıl yok edeceğine dair tavsiyesi. Sadece hatayı göz ardı etmek bana yardımcı olmaz, çünkü kodum her defasında bu hatayla karşılaşırsa, normal sonuçları vermez.
'out_vec' dizi' NaN' veya 'Inf' değerleri içeren (I NaN karşılaştırıldığında elde edilen değerler vardı)? – kvorobiev
@kvorobiev uyarımı nasıl yakalayabileceğimi biliyor musun? – Cheshie
Deneme np.isnan (np.sum (out_vec)) ' – kvorobiev