Ошибка в функции Numba: «индекс кортежа вне диапазона» при использовании пользовательского класса для разреженной матрицPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка в функции Numba: «индекс кортежа вне диапазона» при использовании пользовательского класса для разреженной матриц

Сообщение Anonymous »


Я столкнулся с проблемой с функцией, оптимизированной для Numba, которая включает специальный класс для представления разреженной матрицы. Я получаю сообщение об ошибке:

индекс кортежа выходит за пределы диапазона

Во время: ввод static-get-item по адресу z:\2023-2024\Python Labs\E0\TEST\Untitled-3.py (73)

Похоже, проблема связана с индексированием кортежей и возникает в следующем фрагменте кода

@numba.jit(nopython=True)

def numba_csc_ndarray_dot2(a: csc_matrix, b: np.ndarray):

out = np.zeros((a.shape[0], b.shape[1])) для j в диапазоне (b.shape[1]): для я в диапазоне (b.shape[0]): для k в диапазоне (a.indptr, a.indptr[i + 1]): out[a.indices[k], j] += a.data[k] * b[i, j] Я подозреваю, что либо a.indices[k], либо a.data[k] приводит к созданию кортежа, что приводит к ошибке «индекс кортежа вне диапазона». Я добавил несколько операторов отладки печати, и в выводе отображаются неожиданные значения кортежа.

Буду признателен за любые идеи и предложения по решению этой проблемы. Спасибо!
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»