我试着用张量流来构造我的模型来解一个微分方程,例如
dX/dt=f(\mu,X,t)
这里,\ mu是一个依赖于X的函数,它很复杂,所以我想用神经网络来预测\mu(X)。你知道吗
首先,我的输入X通过密集层N得到\mu~N(X)。 然后,我用龙格库塔法求解上述常微分方程,该方法由一个代码定义:
def RK4(self, mu, X, t, dt=0.2):
kX1=dt*self.f(mu, X, t)
kX2=dt*self.f(mu, X+kX1/2, t+dt/2)
kX3=dt*self.f(mu, X+kX2/2, t+dt/2)
kX4=dt*self.f(mu, X+kX3, t+dt)
X_next=X+(kX1+2*kX2+2*kX3+kX4)/6
return X_next
注意self来自一个类变量。 当我直接将N(X)放入RK4时,出现了一个错误。你知道吗
Tensor objects are only iterable when eager execution is enabled. To iterate
over this tensor use tf.map_fn.
我不熟悉这张地图。我的函数很复杂,因为它既有张量(\mu,X)又有浮点数(t,dt)。但正如我所知,map\u fn只处理张量输入。有没有一个聪明的方法来处理这些输入?谢谢!你知道吗
会解决我的问题。事实上,地图可以接收张量型输入或浮点型输入。这种函数的用法可以从this link中看出
相关问题 更多 >
编程相关推荐