PINN学习记录(1)
PINN学习记录(1)
安装Deepdxe
-
官方链接安装
pip install deepxde
直接在evns 环境下安装即可 -
在git hub 上下载zip,然后set.up
链接:deepxde -
注意:
默认backend 是tensorflow_compact_v1
我自己用pytorch ,所以需要更改
在C:\Users\admin\.deepxde下更改即可
学习例子
1、buegers equations
(完整代码)
(部分代码)
def pde(x, y):
dy_x = dde.grad.jacobian(y, x, i=0, j=0)
dy_t = dde.grad.jacobian(y, x, i=0, j=1)
dy_xx = dde.grad.hessian(y, x, i=0, j=0)
return dy_t + y * dy_x - 0.01 / np.pi * dy_xx
解释:
求一阶导func1:
dde.grad.jacobian()
求二阶导func2:
dde.grad.hessian()
自己对(i,j)不理解,看了具体的函数有一点明白
意思就是
d y d x = d [ Y ] d [ X ] = d [ y 1 , y 2 , . . . , y i ] d [ x 1 , x 2 , . . . , x j ] \frac{dy}{dx}=\frac{d[Y]}{d[X]}=\frac{d[y_1,y_2,...,y_i]}{d[x_1,x_2,...,x_j]} dxdy=d[X]d[Y]=d[x1,x2,...,xj]d[y1,y2,...,yi]
举例
u ( x , t ) ∂ u ( x , t ) ∂ x − ∂ u 2 ( x , t ) ∂ t 2 = 0 u(x,t)\frac{\partial {u(x,t)}}{\partial {x}}-\frac{\partial {u^2(x,t)}}{\partial {t^2}}=0 u(x,t)∂x∂u(x,t)−∂t2∂u2(x,t)=0
那么 X = [ x 0 , x 1 ] = [ x , t ] X=[x_0,x_1]=[x,t] X=[x0,x1]=[x,t], Y = [ u 0 ] = [ u ] Y=[u_0]=[u] Y=[u0]=[u]
所以
- ∂ u ( x , t ) ∂ x = d u 0 d x 0 \frac{\partial {u(x,t)}}{\partial {x}}=\frac{du_0}{dx_0} ∂x∂u(x,t)=dx0du0
dy_x = dde.grad.jacobian(u, x, i=0, j=0)
- ∂ u 2 ( x , t ) ∂ t 2 = d 2 u 0 d x 1 2 \frac{\partial {u^2(x,t)}}{\partial {t^2}}=\frac{d^2u_0}{dx_1^2} ∂t2∂u2(x,t)=dx12d2u0
dy_x = dde.grad.hessian(u, x, i=0, j=1)
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)