При добавлении (или умножении, разделении, вычитании и т. Д.) Питон плавает к массиву Numpy, в Numpy Dtype массива сохраняется, тогда как в Numba массив способствует float64. Как я могу изменить перегрузку ndarray .__ Добавить __ и т. Д. ... чтобы изменить dtype плавания Python в соответствии с массивом, чтобы результат имел одинаковый dtype?
В идеале, я не хочу изменять свои функции, а просто просто реализовать новую перегрузку функций базовых добавок и т. Д., Так как в моем коде есть много экземпляров. < /P>
Код Чтобы продемонстрировать эту проблему, хотелось бы согласованности с Numpy в функции, украшенной NJIT :
import numpy as np
import numba as nb
def func(array):
return array + 1.0
numba_func = nb.njit(func)
a_f64 = np.ones(1, dtype=np.float64)
a_f32 = np.ones(1, dtype=np.float32)
for i in (a_f64, a_f32):
print(i.dtype)
print(func(i).dtype)
print(numba_func(i).dtype, end="\n\n")
< /code>
Вывод (с Numpy 2.1.3 и Numba 0.61.0): < /p>
float64
float64
float64
float32
float32
float64
Подробнее здесь: https://stackoverflow.com/questions/794 ... y-to-numpy
Numba по -разному продвигает типы. ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как я могу из Jitted-функции Numba вызвать другую Jit-функцию Numba с указателем?
Anonymous » » в форуме Python - 0 Ответы
- 34 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как я могу из Jitted-функции Numba вызвать другую Jit-функцию Numba с указателем?
Anonymous » » в форуме Python - 0 Ответы
- 39 Просмотры
-
Последнее сообщение Anonymous
-