Are you sure you want to delete this task? Once this task is deleted, it cannot be recovered.
2802700497@qq.com e890e1ae22 | 7 months ago | |
---|---|---|
checkpoints/Unet | 7 months ago | |
configs | 8 months ago | |
data_utils | 8 months ago | |
imgs | 7 months ago | |
modules | 7 months ago | |
src | 7 months ago | |
README.md | 7 months ago | |
eval.py | 7 months ago | |
qizhi.py | 8 months ago | |
requirements.txt | 7 months ago | |
train.py | 7 months ago |
湍流是一种三维、非定常、有旋的强非线性多尺度流动,具有强的耗散和色散特性,普遍存在于自然界及工程问题之中,被认为是“经典物理学中最后一个未解决的问题”。本项目通过深度学习方法,基于DNS/LES等方法获得的高可信度流场数据,构建一个以流场基本变量及其组合特征为输入,雷诺应力为输出的数据驱动模型,实现对于雷诺应力的准确模化,从而在计算量可接受的前提下提高RANS方程对于复杂流动的模拟精度。
网络模型如下所示:
【官方数据集】:https://openi.pcl.ac.cn/innovation_contest/innov202305100905418/datasets
该数据集提供了周期山、方管、后台阶、压缩拐角等外形在不同工况下的DNS/LES模拟数据。在data_train_input.csv
文件中,包含12个基本流场特征,作为模型的输入;在data_train_output.csv
文件中,包含雷诺应力的6个分量。
【本项目数据集】:https://openi.pcl.ac.cn/theh04/flow-Unet/datasets
本项目的数据集是在官方数据集的基础上进行一系列操作得到:
data_train_input.csv
和data_train_output.csv
文件进行拼接,train_data.csv
和test_data.csv
,分别用于训练和验证,【项目代码】:https://openi.pcl.ac.cn/theh04/flow-Unet
本项目工程名称为 flow-Unet,工程目录如下所示:
├── checkpoints #权重保存目录
│ └── Unet_9946.ckpt #模型权重文件
├── configs #参数目录
│ └── default.json #默认训练参数
├── data #数据目录
│ └── download.txt #数据下载链接
├── data_utils #数据集处理
│ ├── fill_zero.py #将空元素填充为0
│ ├── merge_file.py #合并输入文件和输出文件
│ └── split.py #9:1划分训练集和验证集
├── imgs #图片目录
│ ├── eval_log.png
│ ├── network.png
│ └── train_log.png
├── modules #模型目录
│ ├── block.py #模型部件
│ └── net.py #模型定义
├── src #自定义
│ ├── callback.py #回调函数
│ ├── dataset.py #数据集函数
│ ├── loss.py #损失函数
│ └── utils.py #学习率函数
├── README.md #说明文档
├── requirements.txt #运行环境要求
├── eval.py #推理函数
├── qizhi.py #启智集群运行脚本
└── train.py #训练函数
硬件环境 | 资源规格 |
---|---|
GPU | 1*A100, CPU: 8, 显存: 40GB, 内存: 64GB |
环境依赖 | 版本 |
---|---|
mindspore | 2.0.0 |
scikit-learn | ~ |
numpy | ~ |
python | 3.7 |
实验环境如上所示,在配置时,可以参考或者使用我们选择的启智集群镜像如下。
或者可直接参考qizhi.py
文件开头几行代码。
【cuda镜像地址】:dockerhub.pcl.ac.cn:5000/user-images/openi:cuda111_python37_pytorch191
【清华源pip命令行安装MindSpore2.0.0】:
pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/2.0.0/MindSpore/unified/x86_64/mindspore-2.0.0-cp37-cp37m-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple
【基础库安装】
pip install -r requirements.txt
如果使用的是本项目数据集,则无需对数据集进行处理。
如果使用的是官方数据集,需要先运行merge_file.py
,将输入文件和输出文件进行合并,
再运行split.py
划分训练集和验证集,
最后运行fill_zero.py
将划分得到的两个csv文件中的空元素填充为0。
运行train.py
文件进行模型的训练。
merge_file.py
,fill_zero.py
确保数据格式与本项目数据集保持一致。eval.py
文件进行模型的推理。在训练过程中,为了加速模型的拟合,对输入和标签同时放大了100倍(详见dataset.py
)。
因此,在实际测试和推理过程中,需要
模型当中用到了InstanceNorm网络层,该网络层只支持GPU环境运行。
本项目在测试mse、mae和R2指标时使用了机器学习库sklearn,详见eval.py
建议使用该机器学习库进行各个指标的测试。
Dear OpenI User
Thank you for your continuous support to the Openl Qizhi Community AI Collaboration Platform. In order to protect your usage rights and ensure network security, we updated the Openl Qizhi Community AI Collaboration Platform Usage Agreement in January 2024. The updated agreement specifies that users are prohibited from using intranet penetration tools. After you click "Agree and continue", you can continue to use our services. Thank you for your cooperation and understanding.
For more agreement content, please refer to the《Openl Qizhi Community AI Collaboration Platform Usage Agreement》