python “TypeError: ‘numpy.float64’-object kan niet worden geïnterpreteerd als een geheel getal”

Heeft iemand een idee om dit probleem op te lossen? Deze codes uitvoeren
met succes?


Antwoord 1, autoriteit 100%

N=np.floor(np.divide(l,delta))
...
for j in range(N[i]/2):

N[i]/2zal een float64zijn, maar range()verwacht een geheel getal. Cast de oproep naar

for j in range(int(N[i]/2)):

Antwoord 2, autoriteit 38%

Ik kwam hier met dezelfde fout, maar met een andere oorsprong.

Het wordt veroorzaakt door een niet-ondersteunde float-index in 1.12.0 en nieuwere numpy-versies
zelfs als de code als geldig moet worden beschouwd.

Er wordt een inttype verwacht, geen np.float64

Oplossing: probeer numpy 1.11.0te installeren

sudo pip install -U numpy==1.11.0.

Antwoord 3

Vergelijkbare situatie. Het werkte. Toen begon ik pytables op te nemen. Op het eerste gezicht geen reden tot fouten. Ik besloot een andere functie te gebruiken met een domeinbeperking (elipse) en kreeg de volgende foutmelding:

TypeError: 'numpy.float64' object cannot be interpreted as an integer

of

TypeError: 'numpy.float64' object is not iterable

Het gekke: de vorige functie die ik gebruikte, geen code veranderd, begon dezelfde fout terug te geven. Mijn reeds gebruikte intermediaire functie was:

def MinMax(x, mini=0, maxi=1)
    return max(min(x,mini), maxi)

De oplossing was om numpyof mathte vermijden:

def MinMax(x, mini=0, maxi=1)
    x = [x_aux if x_aux > mini else mini for x_aux in x]
    x = [x_aux if x_aux < maxi else maxi for x_aux in x]
    return max(min(x,mini), maxi)

Dan is alles weer rustig. Het was alsof één bibliotheek maxen minbezat!


Antwoord 4

Ik had dezelfde problemen toen ik een detectiemodel voor behouden objecten trainde (sneller RCNN) en dit werkte perfect voor mij:

pip uninstall pycocotools
pip install pycocotools-windows

Other episodes