fealpy icon indicating copy to clipboard operation
fealpy copied to clipboard

安装使用问题

Open liangaomng opened this issue 1 year ago • 15 comments

老师您好,我按照linux的pip install -e 之后, from torch.func import vmap, jacfwd, hessian ModuleNotFoundError: No module named 'torch.func'。,也用不了pinn的模块,您知道为什么呢

liangaomng avatar Dec 21 '23 13:12 liangaomng

老师您好,我自己有管理一点代码和封装包的工作,我是按照您的微信的hemlotz方程的例子,我感觉要么是包的版本可能有问题,然后我自己helmholtz_pinn_dirichlet_2d_example2可以,helmholtz_pinn_dirichlet_2d_example1是不行,有一些脚本修改了位置和功能

liangaomng avatar Dec 21 '23 14:12 liangaomng

@liangaomng 我已经安排了同学来回答这个问题,请耐心等候。

weihuayi avatar Dec 22 '23 00:12 weihuayi

你好。helmholtz_pinn_dirichlet_2d_example1.py 确实存在问题,现已修复 #570 。 对于 box 形状区域边界的 dirichlet 条件,现在应使用 BoxDirichletBC 来进行封装(TFC)。使用方法如下:

# 包装模型(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: Tensor) -> Tensor:
    ....

完成以上设置后,wrapped_model 将天然满足边界条件。

另外,No module named 'torch.func' 的问题是否还存在?

AlbertZyy avatar Dec 22 '23 02:12 AlbertZyy

您好 from fealpy.ml.modules import BoxDBCSolution ImportError: cannot import name 'BoxDBCSolution' from 'fealpy.ml.modules'

liangaomng avatar Dec 22 '23 05:12 liangaomng

可以了,但是是不是我用git pull还是不能用呢?我是自己更改了代码

liangaomng avatar Dec 22 '23 05:12 liangaomng

可以了,但是是不是我用git pull还是不能用呢?我是自己更改了代码

现在当然不行了,因为修改的 PR 还没有被合并,详见 #570 。待老师合并以后,就可以通过 git pull 获得更改。

AlbertZyy avatar Dec 22 '23 05:12 AlbertZyy

明白,好嘞

liangaomng avatar Dec 22 '23 05:12 liangaomng

/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])) 这里是不是也有问题呢?

liangaomng avatar Dec 22 '23 05:12 liangaomng

@liangaomng 代码已经合并

weihuayi avatar Dec 22 '23 06:12 weihuayi

/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 function value difference is less than FunValDiff 这种信息的。

AlbertZyy avatar Dec 22 '23 06:12 AlbertZyy

您好,,这个就是我运行之后的输出

liangaomng avatar Dec 22 '23 07:12 liangaomng

你好,pull之后还是有torch.func调用的问题

liangaomng avatar Dec 24 '23 06:12 liangaomng

你好,pull之后还是有torch.func调用的问题

你的 pytorch 是哪个版本的?

AlbertZyy avatar Dec 24 '23 12:12 AlbertZyy

1.13.1 ,我用functorch就好了,但是可以考虑优化一下吗?然后我还有一个问题,关于微信平台上的hemotz方程的代码,真实解的pde的 的边界条件是什么?真实的解u是不是没有源项f的意思?我的数学不太好。。或者您知道在哪里能看解析形式吗?

Aoming Liang 梁敖铭 @.***

 

------------------ 原始邮件 ------------------ 发件人: "weihuayi/fealpy" @.>; 发送时间: 2023年12月24日(星期天) 晚上8:37 @.>; 抄送: "Aoming Liang @.@.>; 主题: Re: [weihuayi/fealpy] 安装使用问题 (Issue #569)

你好,pull之后还是有torch.func调用的问题

你的 pytorch 是哪个版本的?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

liangaomng avatar Dec 24 '23 12:12 liangaomng

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

AlbertZyy avatar Dec 24 '23 13:12 AlbertZyy