Numpy: рд▓реЗрдЦрди рддреНрд░реБрдЯрд┐: ufunc dtype ('float64') рд╕реЗ dtype ('uint8') рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд╕реНрдЯрд┐рдВрдЧ рдирд┐рдпрдо 'same_kind' рдХреЗ рд╕рд╛рде рдХрд╛рд╕реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 10 рдлрд╝рд░ре░ 2016  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: numpy/numpy

рдореИрдВ Gizeh рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ рдФрд░ рдореБрдЭреЗ Numpy рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдкрд░ рдЙрдкрд░реЛрдХреНрдд рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред Numpy рд╕рдВрд╕реНрдХрд░рдг 1.08 рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдереАред

File "animation/target_animation.py", line 161, in draw
    fill = gizeh.ImagePattern(self.bg.data, self.bg.pos, filter='best')
  File "build/bdist.linux-x86_64/egg/gizeh/gizeh.py", line 295, in __init__
  File "build/bdist.linux-x86_64/egg/gizeh/gizeh.py", line 50, in from_image
TypeError: Cannot cast ufunc add output from dtype('float64') to dtype('uint8') with casting rule 'same_kind'

рдХреНрдпрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рд╣реИ рдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░реЗрдВрдЧреЗ?

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЖрдо рддреМрд░ рдкрд░ рдпрд╣ a += b рдЬреИрд╕рд╛ рдХреЛрдб рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдЗрд╕реЗ np.add(a, b, out=a, casting="unsafe") рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдпрджрд┐ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ рдХрд┐ рдЖрдк рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдХрд╛рд╕реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╛, рдЬрдм рддрдХ рдХрд┐ рдмреА рдмрдбрд╝рд╛ рди рд╣реЛ рдФрд░ рдпрд╣ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛ, рддреЛ рд╢рд╛рдпрдж рдмрд╕ рдХрд╛рд╕реНрдЯ рдХрд░реЗрдВ рдмреА рдкрд╣рд▓реЗред

рд╕рднреА 10 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЖрдкрдХреЛ np.add ufunc рдореЗрдВ casting рддрд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд▓рд╛рдХрд╛рд░реЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред Gizeh рдЬрд┐рд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдЙрд╕реЗ 1.7 рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╡рд╣ рд╣реИ casting='unsafe' ред

рдореБрдЭреЗ рдпрд╣ @charris рдХрд╣рд╛рдБ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдЖрдо рддреМрд░ рдкрд░ рдпрд╣ a += b рдЬреИрд╕рд╛ рдХреЛрдб рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдЗрд╕реЗ np.add(a, b, out=a, casting="unsafe") рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдпрджрд┐ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ рдХрд┐ рдЖрдк рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдХрд╛рд╕реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╛, рдЬрдм рддрдХ рдХрд┐ рдмреА рдмрдбрд╝рд╛ рди рд╣реЛ рдФрд░ рдпрд╣ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛ, рддреЛ рд╢рд╛рдпрдж рдмрд╕ рдХрд╛рд╕реНрдЯ рдХрд░реЗрдВ рдмреА рдкрд╣рд▓реЗред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ gizeh/moviepy рдореЗрдВ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рдерд╛ред

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдорд╛рди рдореБрджреНрджрд╛ рдерд╛ред рдЗрд╕реЗ рд╕реЗрдмрд░реНрдЧ рджреНрд╡рд╛рд░рд╛ рд╕реБрдЭрд╛рдП рдЕрдиреБрд╕рд╛рд░ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореИрдВрдиреЗ рд▓рд╛рдЗрди 40 рдХреЛ gizeh.py рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛:

arr += image.flatten()

рд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде:

arr = np.add(arr, image.flatten(), out=arr, casting="unsafe")

рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдФрд░ рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдереА рдЬрдм _subtracting_ рдЗрд╕ рддрд░рд╣:
yn -= self.y_mean

рдореЗрд░реА рддреНрд░реБрдЯрд┐ рджреВрд░ рд╣реЛ рдЧрдИ рдЬрдм рдореИрдВрдиреЗ рдШрдЯрд╛рд╡ рдХреЛ numpy.subtract рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ
yn = np.subtract(yn, self.y_mean, out=yn, casting="unsafe")

рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж @seberg : +1:

@ FilipSavic95 : yn -= self.y_mean.astype(yn.dtype) рднреА рдХрд░ рд╕рдХрддрд╛ рд╣реИ

@ рдПрд░рд┐рдХ-рд╡рд╛рдЗрд╕рд░ рд╣рд╛рдБ, рдореИрдВрдиреЗ рдЕрднреА рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред :+1:

рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдХрд╛рд╕реНрдЯрд┐рдВрдЧ рдСрдкрд░реЗрд╢рди рдХреЛ рдмрдбрд╝реЗ (рдЖрд░рдПрдЪрдПрд╕) рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ (рдпрд╛ рд╕рдВрдпреБрдХреНрдд рд╕реБрд░рдХреНрд╖рд┐рдд рдкреНрд░рдХрд╛рд░) рдореЗрдВ рдХрд░реЗрдЧрд╛, рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рдХрд╛рд╕реНрдЯ рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрдо рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рдореЗрдВ рдСрдкрд░реЗрд╢рди рдХрд░реЗрдЧрд╛ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

astrofrog picture astrofrog  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

inducer picture inducer  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

MorBilly picture MorBilly  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

navytux picture navytux  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

keithbriggs picture keithbriggs  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ