Как индекс ElementwiseKernel CuPy для нескольких массивов?Python

Программы на Python
Ответить
Anonymous
 Как индекс ElementwiseKernel CuPy для нескольких массивов?

Сообщение Anonymous »

Я определяю CuPy ElementwiseKernel для вычислений на графическом процессоре с помощью Python. У меня есть несколько входных и выходных массивов, все двумерные, разных размеров, поэтому мне интересно, как назначается переменная i элемента ElementwiseKernel (если бы они все имели форму (m, n), я думаю, что i просто работал бы от 0 до m * n - 1, но здесь у меня много разных m и n).
Чтобы быть В частности, входы uu, vv, cc и выходы u, v, c имеют форму (H, W). Входные данные Ix, Iy, It имеют форму (H + K, W + K) (они получены из «заполнения» данных, из которых получены предыдущие три входных данных). Наконец, вход R имеет форму (K + 1, K + 1). Остальные пять входных данных являются скалярными.
Природа вычислений является «поэлементной» для uu, vv, cc. Мы будем очень признательны за любые разъяснения.
kernel = cp.ElementwiseKernel(
in_params="raw float32 uu, raw float32 vv, raw float32 cc,"
"raw float32 Ix, raw float32 Iy, raw float32 It,"
"raw float32 R,"
"int32 h, int32 w, int32 ksize, int32 padw, int32 Rw",
out_params="raw float32 u, raw float32 v, raw float32 c",
operation=
"""
int idx = i; // how does this "i" work?
// ... (rest of operation)
"""
)


Подробнее здесь: https://stackoverflow.com/questions/798 ... ple-arrays
Ответить

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

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

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

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

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