将taichi框架的变量传入python域其他函数时,数据类型为ti.Expr,应该怎么解析?
import numpy as np
import taichi as ti
from scipy.integrate import dblquad
ti.init(arch=ti.gpu)
x = ti.Vector.field(3, float, shape=(5, 5))
y = np.random.random((5, 5, 3))
# @ti.func
def outt(i, j):
print(i , j) # <ti.Expr> <ti.Expr>
aa = lambda x, z: x * z
bb = dblquad(aa, i[0], j[0], 3, 4)
return bb[0]
@ti.kernel
def copy_vector(x: ti.template(), y: ti.types.ndarray()):
for i, j in ti.ndrange(5, 5):
print(i, j)
for k in ti.static(range(3)):
y[i, j, k] = x[i, j][k] + outt(i, j) # correct
# y[i][j][k] = x[i, j][k] incorrect
# y[i, j][k] = x[i, j][k] incorrect
copy_vector(x, y)
# print(y)