| import taichi as ti |
| import taichi.math as tm |
|
|
| """ @ti.kernel |
| def costvol_out(tenOne: ti.types.ndarray(), tltOne: ti.types.ndarray(), tenTwo: ti.types.ndarray(), tenOut: ti.types.ndarray()): |
| N, C, H, W = tenOut.shape |
| for i, ch, y, x in ti.ndrange(N, C, H, W): |
| for intValue in range(tenOne.shape[1]): |
| tltOne[intValue] = tenOne[i, intValue, y, x] |
| |
| tenOut_ch = 0 |
| for intOy in range(y - 4, y + 4 + 1): |
| for intOx in range(x - 4, x + 4 + 1): |
| point = tm.ivec2(intOx, intOy) |
| fltValue = 0.0 |
| for intValue in range(ch): |
| if (point.y >= 0) and (point.y < H) and (point.x >= 0) and (point.x < W): |
| fltValue += ti.abs(tltOne[intValue] - tenTwo[i, intValue, point.y, point.x]) |
| else: |
| fltValue += ti.abs(tltOne[intValue]) |
| |
| tenOut[i, tenOut_ch, y, x] = fltValue / tenOne.shape[1] |
| tenOut_ch += 1 """ |
|
|
| def worker_interface(op_name, tensors): |
| raise NotImplementedError(op_name) |
|
|