Comments (26)
哦这里应该是变量没改成大写的原因,现在应该可以了,可以再试一下
from paddlescience.
hi,现在在AIStudio上应该已经提供了数据集了
https://paddlescience-docs.readthedocs.io/zh/latest/zh/examples/cylinder2d_unsteady/
最近我们会上传数据集供用户直接下载使用,暂时先在Aistudio上下载一下数据集吧,谢谢
from paddlescience.
datasets中的各个csv文件分别代表什么呢? domain_cylinder.csv,domain_inlet.csv,domain_outlet.csv分别包含了圆柱上,入口,出口的网格和初始时刻数据,domain_train.csv包含整个流场的初始时刻.这样理解对吗? 在initial文件夹中的csv,又是哪个时刻的流场数据呢,因为我看ic0.1.csv中的速度和压力不是初始时刻的数据。 在probes文件夹中的50个probes文件又是代表的什么.
如果我想自己生成数据,放到脚本中直接来训练,也应该按照这个格式吗
数据集已经上传完毕,可以按照以下命令运行 cylinder2d_unsteady_Re100 案例
python download_dataset.py
python cylinder2d_unsteady_Re100.py
from paddlescience.
Hi @HydrogenSulfate .谢谢您的回复,事实上我想基于自己计算的数据来训练,想知道关于自己生成数据集有教程之类的吗
from paddlescience.
Hi @HydrogenSulfate .谢谢您的回复,事实上我想基于自己计算的数据来训练,想知道关于自己生成数据集有教程之类的吗
至于生成数据集,考虑到相当一部分用户对自己已经有的数据比较熟悉,但是大概率不太熟悉如何转换成可以拿来训练的数据点,这块近期会出一个教程。在此之前,如果想自己训练的话,可以参照训练数据的格式(案例里用的是csv文件,可以直接用excel打开查看,或者也可以用.mat储存数据),最关键的就是最终是要把数据离散化成一个一个点,然后加载进来训练。
from paddlescience.
在Windows下使用cpu的开发版本,运行文件cylinder2d_unsteady_Re100报错AttributeError: module 'paddle.optimizer' has no attribute 'LBFGS',是由于飞浆版本的原因吗?是CPU版本没有只有GPU版本有这个属性吗?我的paddle是:paddlepaddle==0.0.0,cpu版本。
from paddlescience.
在Windows下使用cpu的开发版本,运行文件cylinder2d_unsteady_Re100报错AttributeError: module 'paddle.optimizer' has no attribute 'LBFGS',是由于飞浆版本的原因吗?是CPU版本没有只有GPU版本有这个属性吗?我的paddle是:paddlepaddle==0.0.0,cpu版本。
建议先卸载一下本地的paddle,然后去官网安装develop版paddle,我在windows机器上试了一下是可以运行的
from paddlescience.
感谢,重新安装paddle之后问题已解决
from paddlescience.
感谢,重新安装paddle之后问题已解决
paddle develop版本为快速迭代版本,版本号都是0.0.0,所以是通过commit号 paddle.version.commit
对应的paddle commit日期来看版本的新旧,当commit号对应的commit日期(在paddle仓库中直接搜commit号就能搜到commit日期)比较老,意味着它是老的develop,可能存在功能缺失
from paddlescience.
你好 @HydrogenSulfate ,训练数据中的domain_train.csv和ic0.1.csv分别代表的是什么数据
from paddlescience.
你好 @HydrogenSulfate ,训练数据中的domain_train.csv和ic0.1.csv分别代表的是什么数据
domain_train.csv
是一个时刻的二维内部点坐标数据(example 代码中会被 TimeXGeometry
接受,复制成 T 份相同的数据变成时间-空间的三维坐标数据),这些点主要用于计算方程残差约束(作为损失函数的一项);
ic0.1.csv
是一个时刻(初始时刻t0)的内部点坐标数据,用于初值约束
from paddlescience.
@HydrogenSulfate
domain_train.csv中的数据看起来似乎是初始时刻的数据?因为除了速度边界每个点对应的速度和压力都是0;
ic0.1.csv 像是某个时刻的数据,因为其中的点速度和压力都不像是初始时刻的。
from paddlescience.
@HydrogenSulfate domain_train.csv中的数据看起来似乎是初始时刻的数据?因为除了速度边界每个点对应的速度和压力都是0; ic0.1.csv 像是某个时刻的数据,因为其中的点速度和压力都不像是初始时刻的。
![]()
domain_train.csv
这个文件其实只用到了里面的 x 和 y,uvp数据并没有使用,所以和它所处的时刻没关系,
然后 ic0.1.csv
的uvp非0,是因为我们这个案例里选取的初始时刻并不是 0 时刻,而是之后的一个时刻 TIME_START
,而本案例代码只是保证了 domain_train.csv
所用的时刻 T 在 TIME_START
之后。
from paddlescience.
@HydrogenSulfate domain_train.csv中的数据看起来似乎是初始时刻的数据?因为除了速度边界每个点对应的速度和压力都是0; ic0.1.csv 像是某个时刻的数据,因为其中的点速度和压力都不像是初始时刻的。
![]()
相当于我们模拟了某一个时间段(时间窗口)的2D流场,只是这个时间窗口的起始点不一定是0而已,如果是你自己的数据,完全可以尝试用t=0的数据去构造IC
from paddlescience.
@HydrogenSulfate domain_train.csv中的数据看起来似乎是初始时刻的数据?因为除了速度边界每个点对应的速度和压力都是0; ic0.1.csv 像是某个时刻的数据,因为其中的点速度和压力都不像是初始时刻的。
![]()
相当于我们模拟了某一个时间段(时间窗口)的2D流场,只是这个时间窗口的起始点不一定是0而已,如果是你自己的数据,完全可以尝试用t=0的数据去构造IC
使用t=0的数据构造IC时,是不是要用该时间段的最后时刻来构造domain_train.csv
from paddlescience.
举一个简单的例子,假如我想模拟一段离散时刻
from paddlescience.
请问有pytorch版本的代码吗?想对比学习一下
from paddlescience.
请问有pytorch版本的代码吗?想对比学习一下
没有提供pytorch代码,可以在 https://paddlescience-docs.readthedocs.io/zh/latest/zh/examples/cylinder2d_unsteady/ 跳转到 AIStudio 上运行该案例的代码
from paddlescience.
from paddlescience.
感谢
from paddlescience.
@HydrogenSulfate 请问代码中构建的计算域我可以理解为一个是微分方程约束的计算域也就是微分方程的一些随机取值,也就是说用来训练,还有一个计算域就是用整个时间的数据来测试训练的情况。我这么理解对吗?
from paddlescience.
计算域是一个比较抽象的概念,在 paddlescience 里一般指 包含所研究问题的取值范围的区域,可以是一个连续的几何,然后训练的时候会在这个连续的几何上进行随机采样得到训练/测试点;也可以是离散的几何(点云),训练的时候直接从点云中随机选取数据作为训练/测试点。
from paddlescience.
比如我构建了一个训练的计算域,我在训练时在这个点云中会随机取值,可能会取到重复的值吗?
from paddlescience.
你好 @HydrogenSulfate ,我现在有个新的问题,如果我的边界条件是随时间和空间变化的,比如说DFG基准
其中圆柱绕流的入口边界条件为u(x,y,t) = 4*1.5*sin(pi*t/8)*y*(0.41-y)/0.41^2
这种情况下dataset应该怎么生成呢,这种情况下是不是应该把inlet的数据集改成probes的数据集的形式
from paddlescience.
你好 @HydrogenSulfate ,我现在有个新的问题,如果我的边界条件是随时间和空间变化的,比如说DFG基准 其中圆柱绕流的入口边界条件为
u(x,y,t) = 4*1.5*sin(pi*t/8)*y*(0.41-y)/0.41^2
这种情况下dataset应该怎么生成呢,这种情况下是不是应该把inlet的数据集改成probes的数据集的形式
有两种方法
-
在 PaddleScience 外面手动生成采样点
$(t,x,y)$ ,然后生成对应的边界条件$u_{BC}(t,x,y)$ ,然后这两者作为文件读入进来作为监督数据,用ppsci.constraint.SupervisedConstraint
包一层变成约束 -
在 PaddleScience 里面用 Geometry 生成采样点,那么这样对应使用的是
ppsci.constraint.BoundaryConstraint
,在其参数label_dict
字典里,用函数(或lambda表达式)代替常数即可,如下所示ppsci.constraint.BoundaryConstraint( output_expr={"u": lambda d: d["u"]}, label_dict={"u": lambda input: (input["t"] + input["x"] + input["y"])}, # <-- 这里 geom["noslip_geo"], {**train_dataloader_cfg, "batch_size": 5200}, ppsci.loss.MSELoss("sum"), name="no_slip", )
PaddleScience 处理传入参数为函数的代码逻辑在这里:
如果是2D圆柱绕流,因为 PaddleScience 提供的这个案例都是从文件里读入的数据,所以建议使用第一种方法,自己生成一下数据
from paddlescience.
好的感谢
from paddlescience.
Related Issues (20)
- 【快乐开源】复现 Phy-LSTM 论文 HOT 2
- 【快乐开源】为 PaddleScience 添加 HamiltonianMonteCarlo API HOT 3
- where is volterra HOT 1
- 优化文档结构,增强非专业领域人员可读性,增加应用场景描述,实验图表注明各变量物理意义 HOT 3
- 安装paddlescience报错 HOT 7
- 【快乐开源】基于hydra的案例改造计划 HOT 8
- bracket评估命令错误 HOT 1
- 关于定常问题初始流场设置 HOT 2
- 【快乐开源】补充汽车CFD数据集(Shape-Net Car)至 PaddleScience
- 【快乐开源】补充汽车CFD数据集(Ahmed)至 PaddleScience
- 【快乐开源】科学计算 API 文档补全 HOT 13
- 如何实现求三阶导数 HOT 3
- AI Studio快速体验ldc2d_steady_Re10完整代码出现error HOT 1
- 【快乐开源】为 PaddleScience 案例添加 export 和 inference 功能 HOT 23
- paddlescience训练模型,验证时出错 HOT 1
- 【快乐开源】为PaddleScience添加chamfer distance loss HOT 1
- 训练的时候出现反向传播错误 HOT 7
- paddle和torch前向对齐,有误差 HOT 6
- 带有paddle.fft.fftshift网络模型的导出 HOT 9
- README.md 里面重大错误,Blood Flow 翻译成血管瘤??? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from paddlescience.