Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

安装使用问题 #569

Open
liangaomng opened this issue Dec 21, 2023 · 15 comments
Open

安装使用问题 #569

liangaomng opened this issue Dec 21, 2023 · 15 comments
Assignees

Comments

@liangaomng
Copy link

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

@liangaomng
Copy link
Author

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

@weihuayi
Copy link
Owner

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

@AlbertZyy
Copy link
Collaborator

AlbertZyy commented Dec 22, 2023

你好。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' 的问题是否还存在?

@liangaomng
Copy link
Author

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

@liangaomng
Copy link
Author

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

@AlbertZyy
Copy link
Collaborator

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

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

@liangaomng
Copy link
Author

明白,好嘞

@liangaomng
Copy link
Author

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

@weihuayi
Copy link
Owner

@liangaomng 代码已经合并

@AlbertZyy
Copy link
Collaborator

/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 这种信息的。

@liangaomng
Copy link
Author

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

@liangaomng
Copy link
Author

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

@AlbertZyy
Copy link
Collaborator

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

你的 pytorch 是哪个版本的?

@liangaomng
Copy link
Author

liangaomng commented Dec 24, 2023 via email

@AlbertZyy
Copy link
Collaborator

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants