Nasıl düzeltilir: runtimewarning: exp'de taşmayla karşılaşıldı


Python’da karşılaşabileceğiniz bir uyarı:

 RuntimeWarning: overflow encountered in exp

Bu uyarı, exp NumPy işlevini kullandığınızda ancak işlenemeyecek kadar büyük bir değer kullandığınızda ortaya çıkar.

Bunun yalnızca bir uyarı olduğunu ve NumPy’nin yine de istediğiniz hesaplamayı gerçekleştireceğini ancak varsayılan olarak uyarıyı sağladığını unutmamak önemlidir.

Bu uyarıyla karşılaştığınızda iki seçeneğiniz var:

1. Görmezden gelin.

2. Uyarıyı tamamen kaldırın.

Aşağıdaki örnekte bu uyarıya pratikte nasıl yanıt verileceği gösterilmektedir.

Uyarı nasıl yeniden oluşturulur?

Python’da aşağıdaki hesaplamayı yaptığımızı varsayalım:

 import numpy as np

#perform some calculation
print (1/(1+np. exp (1140)))

0.0

/srv/conda/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:3:
RuntimeWarning: overflow encountered in exp

Hesaplamayı NumPy’nin yaptığını (sonuç 0,0) ancak yine de RuntimeWarning’i yazdırdığını unutmayın.

Bu uyarı yazdırılır çünkü np.exp(1140) değeri çok büyük bir sayı olan e 1140’ı temsil eder.

Temel olarak NumPy’den aşağıdaki hesaplamayı yapmasını istedik:

  • 1 / (1 + büyük sayı)

Bu şu şekilde azaltılabilir:

  • 1 / büyük sayı

Gerçekten 0’dır, bu nedenle NumPy sonucu 0,0 olarak hesaplamıştır.

Uyarı nasıl kaldırılır

Eğer istersek uyarıları bastırmak için warns paketini şu şekilde kullanabiliriz:

 import numpy as np
import warnings

#remove warnings
warnings. filterwarnings (' ignore ')

#perform some calculation
print (1/(1+np. exp (1140)))

0.0

NumPy’nin hesaplamayı gerçekleştirdiğini ve RuntimeWarning’i görüntülemediğini unutmayın.

Not : Genel olarak uyarılar, yürütülmesi uzun süren kod parçalarının belirlenmesinde yardımcı olabilir. Bu nedenle uyarıları kaldırmaya karar verirken çok seçici olun.

Ek kaynaklar

Aşağıdaki eğitimlerde Python’daki diğer yaygın hataların nasıl düzeltileceği açıklanmaktadır:

Pandas’ta KeyError Nasıl Düzeltilir
Nasıl düzeltilir? ValueError: float NaN int’ye dönüştürülemiyor
Nasıl düzeltilir? ValueError: İşlenenler şekillerle yayınlanamadı

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir