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]/2
zal een float64
zijn, 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 int
type verwacht, geen np.float64
Oplossing: probeer numpy 1.11.0
te 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 numpy
of math
te 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 max
en min
bezat!
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