AlbertZyy

Results 13 comments of AlbertZyy

你好。helmholtz_pinn_dirichlet_2d_example1.py 确实存在问题,现已修复 #570 。 对于 box 形状区域边界的 dirichlet 条件,现在应使用 `BoxDirichletBC` 来进行封装(TFC)。使用方法如下: ```python # 包装模型(GD 为问题的维数) wrapped_model = BoxDirichletBC(original_model, GD) # 设定边界信息 wrapped_model.set_box([-0.5, 0.5, -0.5, 0.5]) # 改成你的区域坐标范围 @wrapped_model.set_bc def boundary_condition(p:...

> 可以了,但是是不是我用git pull还是不能用呢?我是自己更改了代码 现在当然不行了,因为修改的 PR 还没有被合并,详见 #570 。待老师合并以后,就可以通过 `git pull` 获得更改。

> /fealpy/example/ml/pinn/Helmholtz_PINN_robin_2d.py Convergence achieved after 7 iterations, the function value difference is less than FunValDiff x: (array([0.4, 0.9]), array([-54.5]), array([2.54222939e-04, 1.42108547e-14])) 这里是不是也有问题呢? 我不知道复现这个现象。实际上,这个算例中有采样器调用上的问题,修复以后可以正常执行。 能否给出完整的输出?理论上这个算例里面是没有任何东西可以输出 Convergence achieved after 7 iterations, the...

> 你好,pull之后还是有torch.func调用的问题 你的 pytorch 是哪个版本的?

@liangaomng torch.func 必须在 2.0 及以上版本才有。 真实解就是指这个 PDE 问题的答案,它能同时满足给定的边界条件和 PDE 条件。 在这些 Helmholtz 的算例文件里有真解的 python 函数(一般名为 solution),用于误差估计,和 dirichlet 边界条件的定义。把这个函数执行的功能写成数学表达式就是解析形式。

1. Helmholtz_PINN_dirichlet_2d 的 loss 没加边界条件:这是因为在 dirichlet 情形里,我们采用了 TFC(Theory of Functional Connection),使得模型天然满足边界条件。具体功能由`BoxDBCSolution`类实现。 2. 关于 robin 边界条件:对于任何边界条件,一般只需要构造出条件式左边减右边的均方值即可。

在 Robin 条件中有关梯度的部分,可以参考这些算例在 pde 损失项的计算中,是如何对模型进行求导的;有关函数值的部分则和 Dirichlet 条件一样。

1. 因为模型的数据类型是 float64,所以需要两个模型分别训练成 PDE 解的实部和虚部; 2. 具体方程定义在名为 `pde` 的函数里。

这个模型只需保证输入层特征数为 2、输出层特征数为 1,其它层的特征数量不一定要这么取。你可以试着换一种隐藏层神经元数量取法,或是激活函数,看看效果如何。

请问你那边 FEALPy 的目录内是否存在 fealpy/fealpy/ml 这个文件夹? @Xutaodu