当用tensorflow进行导数时,我遇到了一些问题。我的代码是:
def pde(x,y):
x = dde.config.real.set_float64()
u,k = y[:,0:1],y[:,1:2]
du_x = tf.gradients(u,x)[0]
du_x,du_y= du_x[:,0:1],du_x[:,1:2]
du_xx = tf.gradients(du_x,x)[0][:,0:1]
du_yy = tf.gradients(du_y,x)[0][:,1:2]
return k*du_xx + k*du_yy
错误为:
f = self.pde(inputs, outputs_pde)
File "d:/VS_CODE/AI_code/experiment/seepage_rectangle_bc.py", line 22, in pde *
du_x = tf.gradients(u,x)[0]
AttributeError: 'NoneType' object has no attribute 'op'
我该如何解决这个问题?
在函数的第一行中,您正在覆盖x
x = dde.config.real.set_float64()
将其更改为
def pde(x,y):
dde.config.real.set_float64()
u,k = y[:,0:1],y[:,1:2]